diff options
author | Anuj Mittal <anuj.mittal@intel.com> | 2018-06-01 13:18:18 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-06-04 15:14:43 +0100 |
commit | f1d5bb1f21e11714357aff4ae7e52421e3756c5a (patch) | |
tree | d121e9a72083a0c7c410b585a3141aa4abf671ea /scripts | |
parent | 3157ebb131e01e74689b1f87a35278350f315e7d (diff) | |
download | openembedded-core-f1d5bb1f21e11714357aff4ae7e52421e3756c5a.tar.gz openembedded-core-f1d5bb1f21e11714357aff4ae7e52421e3756c5a.tar.bz2 openembedded-core-f1d5bb1f21e11714357aff4ae7e52421e3756c5a.zip |
wic/bootimg-efi.py: recognize initrd when using grub
Make sure that we're able to use the initrd value specified in the wks
file when using grub-efi bootloader with bootimg-efi wic plugin.
Fixes [YOCTO #12689]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/lib/wic/plugins/source/bootimg-efi.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index beb74d7a71..0eb86a079f 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -45,7 +45,7 @@ class BootimgEFIPlugin(SourcePlugin): name = 'bootimg-efi' @classmethod - def do_configure_grubefi(cls, creator, cr_workdir): + def do_configure_grubefi(cls, hdddir, creator, cr_workdir, source_params): """ Create loader-specific (grub-efi) config """ @@ -62,6 +62,18 @@ class BootimgEFIPlugin(SourcePlugin): raise WicError("configfile is specified but failed to " "get it from %s." % configfile) + initrd = source_params.get('initrd') + + if initrd: + bootimg_dir = get_bitbake_var("DEPLOY_DIR_IMAGE") + 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) + else: + logger.debug("Ignoring missing initrd") + if not custom_cfg: # Create grub configuration using parameters from wks file bootloader = creator.ks.bootloader @@ -76,6 +88,10 @@ class BootimgEFIPlugin(SourcePlugin): grubefi_conf += "linux %s root=%s rootwait %s\n" \ % (kernel, creator.rootdev, bootloader.append) + + if initrd: + grubefi_conf += "initrd /%s\n" % initrd + grubefi_conf += "}\n" logger.debug("Writing grubefi config %s/hdd/boot/EFI/BOOT/grub.cfg", @@ -167,7 +183,7 @@ class BootimgEFIPlugin(SourcePlugin): try: if source_params['loader'] == 'grub-efi': - cls.do_configure_grubefi(creator, cr_workdir) + cls.do_configure_grubefi(hdddir, creator, cr_workdir, source_params) elif source_params['loader'] == 'systemd-boot': cls.do_configure_systemdboot(hdddir, creator, cr_workdir, source_params) else: |