[OE-core] [PATCH] wic/bootimg-efi: allow multiple initrd
chee.yang.lee at intel.com
chee.yang.lee at intel.com
Thu Jun 13 06:21:36 UTC 2019
From: Chee Yang Lee <chee.yang.lee at intel.com>
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"
Signed-off-by: Chee Yang Lee <chee.yang.lee at intel.com>
---
scripts/lib/wic/plugins/source/bootimg-efi.py | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py
index d87db1f..f3440fb 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):
if not bootimg_dir:
raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting")
- cp_cmd = "cp %s/%s %s" % (bootimg_dir, initrd, hdddir)
- exec_cmd(cp_cmd, True)
+ initrds = initrd.split(';')
+ for rd in initrds:
+ cp_cmd = "cp %s/%s %s" % (bootimg_dir, rd, hdddir)
+ exec_cmd(cp_cmd, True)
else:
logger.debug("Ignoring missing initrd")
@@ -83,8 +85,11 @@ class BootimgEFIPlugin(SourcePlugin):
grubefi_conf += "linux /%s %s rootwait %s\n" \
% (kernel, label_conf, bootloader.append)
- if initrd:
- grubefi_conf += "initrd /%s\n" % initrd
+ if initrds:
+ grubefi_conf += "initrd"
+ for rd in initrds:
+ grubefi_conf += " /%s" % rd
+ grubefi_conf += "\n"
grubefi_conf += "}\n"
@@ -119,8 +124,10 @@ class BootimgEFIPlugin(SourcePlugin):
if not bootimg_dir:
raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting")
- cp_cmd = "cp %s/%s %s" % (bootimg_dir, initrd, hdddir)
- exec_cmd(cp_cmd, True)
+ initrds = initrd.split(';')
+ for rd in initrds:
+ cp_cmd = "cp %s/%s %s" % (bootimg_dir, rd, hdddir)
+ exec_cmd(cp_cmd, True)
else:
logger.debug("Ignoring missing initrd")
@@ -163,8 +170,9 @@ class BootimgEFIPlugin(SourcePlugin):
boot_conf += "options %s %s\n" % \
(label_conf, bootloader.append)
- if initrd:
- boot_conf += "initrd /%s\n" % initrd
+ if initrds:
+ for rd in initrds:
+ boot_conf += "initrd /%s\n" % rd
logger.debug("Writing systemd-boot config "
"%s/hdd/boot/loader/entries/boot.conf", cr_workdir)
--
2.7.4
More information about the Openembedded-core
mailing list