diff options
| author | Chee Yang Lee <chee.yang.lee@intel.com> | 2019-06-19 16:41:09 +0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-06-19 22:13:39 +0100 |
| commit | fc0c36a647cb11a66ba3681c0c580af5dc95641f (patch) | |
| tree | bef71f74eb674eb7c67c534ca541775205f8d586 /scripts/lib | |
| parent | ad636b506181b9b1a69df5877778a035ebb8e11e (diff) | |
| download | poky-fc0c36a647cb11a66ba3681c0c580af5dc95641f.tar.gz | |
wic/bootimg-efi: allow multiple initrd
Allow plugin bootimg-efi to configure with multiple initrd
through source parameter.
Uses ; to separate each initrd.
e.g:
--sourceparams="loader=${EFI_PROVIDER},initrd=initrd1;initrd2"
(From OE-Core rev: c7b0823f9ab6a9959aaa809b8c3f70d199feb64d)
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib')
| -rw-r--r-- | scripts/lib/wic/plugins/source/bootimg-efi.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index d87db1f1b0..5cc5c8a6b8 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py | |||
| @@ -55,8 +55,10 @@ class BootimgEFIPlugin(SourcePlugin): | |||
| 55 | if not bootimg_dir: | 55 | if not bootimg_dir: |
| 56 | raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting") | 56 | raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting") |
| 57 | 57 | ||
| 58 | cp_cmd = "cp %s/%s %s" % (bootimg_dir, initrd, hdddir) | 58 | initrds = initrd.split(';') |
| 59 | exec_cmd(cp_cmd, True) | 59 | for rd in initrds: |
| 60 | cp_cmd = "cp %s/%s %s" % (bootimg_dir, rd, hdddir) | ||
| 61 | exec_cmd(cp_cmd, True) | ||
| 60 | else: | 62 | else: |
| 61 | logger.debug("Ignoring missing initrd") | 63 | logger.debug("Ignoring missing initrd") |
| 62 | 64 | ||
| @@ -84,7 +86,11 @@ class BootimgEFIPlugin(SourcePlugin): | |||
| 84 | % (kernel, label_conf, bootloader.append) | 86 | % (kernel, label_conf, bootloader.append) |
| 85 | 87 | ||
| 86 | if initrd: | 88 | if initrd: |
| 87 | grubefi_conf += "initrd /%s\n" % initrd | 89 | initrds = initrd.split(';') |
| 90 | grubefi_conf += "initrd" | ||
| 91 | for rd in initrds: | ||
| 92 | grubefi_conf += " /%s" % rd | ||
| 93 | grubefi_conf += "\n" | ||
| 88 | 94 | ||
| 89 | grubefi_conf += "}\n" | 95 | grubefi_conf += "}\n" |
| 90 | 96 | ||
| @@ -119,8 +125,10 @@ class BootimgEFIPlugin(SourcePlugin): | |||
| 119 | if not bootimg_dir: | 125 | if not bootimg_dir: |
| 120 | raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting") | 126 | raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting") |
| 121 | 127 | ||
| 122 | cp_cmd = "cp %s/%s %s" % (bootimg_dir, initrd, hdddir) | 128 | initrds = initrd.split(';') |
| 123 | exec_cmd(cp_cmd, True) | 129 | for rd in initrds: |
| 130 | cp_cmd = "cp %s/%s %s" % (bootimg_dir, rd, hdddir) | ||
| 131 | exec_cmd(cp_cmd, True) | ||
| 124 | else: | 132 | else: |
| 125 | logger.debug("Ignoring missing initrd") | 133 | logger.debug("Ignoring missing initrd") |
| 126 | 134 | ||
| @@ -164,7 +172,9 @@ class BootimgEFIPlugin(SourcePlugin): | |||
| 164 | (label_conf, bootloader.append) | 172 | (label_conf, bootloader.append) |
| 165 | 173 | ||
| 166 | if initrd: | 174 | if initrd: |
| 167 | boot_conf += "initrd /%s\n" % initrd | 175 | initrds = initrd.split(';') |
| 176 | for rd in initrds: | ||
| 177 | boot_conf += "initrd /%s\n" % rd | ||
| 168 | 178 | ||
| 169 | logger.debug("Writing systemd-boot config " | 179 | logger.debug("Writing systemd-boot config " |
| 170 | "%s/hdd/boot/loader/entries/boot.conf", cr_workdir) | 180 | "%s/hdd/boot/loader/entries/boot.conf", cr_workdir) |
