diff options
-rw-r--r-- | meta/classes/boot-binary-artifacts.bbclass | 40 | ||||
-rw-r--r-- | meta/classes/image.bbclass | 8 | ||||
-rw-r--r-- | scripts/lib/wic/plugins/source/bootimg-efi.py | 6 | ||||
-rw-r--r-- | scripts/lib/wic/plugins/source/isoimage-isohybrid.py | 8 |
4 files changed, 55 insertions, 7 deletions
diff --git a/meta/classes/boot-binary-artifacts.bbclass b/meta/classes/boot-binary-artifacts.bbclass new file mode 100644 index 00000000000..f4944faff87 --- /dev/null +++ b/meta/classes/boot-binary-artifacts.bbclass @@ -0,0 +1,40 @@ +# Create the artifacts only on an ARTIFACTS_DIR, +# which can be later picked up by wic + +inherit live-vm-common + +do_bootimg[depends] += "dosfstools-native:do_populate_sysroot \ + mtools-native:do_populate_sysroot \ + cdrtools-native:do_populate_sysroot \ + virtual/kernel:do_deploy \ + ${MLPREFIX}syslinux:do_populate_sysroot \ + syslinux-native:do_populate_sysroot \ + ${@oe.utils.ifelse(d.getVar('COMPRESSISO', False),'zisofs-tools-native:do_populate_sysroot','')} \ + " + + +LABELS_LIVE ?= "boot install" + +ARTIFACTS_DIR = "${DEPLOY_DIR_IMAGE}/artifacts" + +populate_bootloader() { + populate_kernel ${ARTIFACTS_DIR} + + if [ "${PCBIOS}" = "1" ]; then + syslinux_hddimg_populate ${ARTIFACTS_DIR} + fi + if [ "${EFI}" = "1" ]; then + efi_hddimg_populate ${ARTIFACTS_DIR} + fi +} + +#python do_bootimg() { +# set_live_vm_vars(d, 'LIVE') +# if d.getVar("PCBIOS", True) == "1": +# bb.build.exec_func('build_syslinux_cfg', d) +# if d.getVar("EFI", True) == "1": +# bb.build.exec_func('build_efi_cfg', d) +# bb.build.exec_func('populate_bootloader', d) +#} + +#addtask bootimg before do_image_complete diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 04fd5f99617..735c5d75457 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -129,6 +129,14 @@ do_rootfs[vardeps] += "${@rootfs_variables(d)}" do_build[depends] += "virtual/kernel:do_deploy" +def build_wic(d): + if bb.utils.contains("IMAGE_FSTYPES", "wic", "wic", "0", d) == "wic": + return "boot-binary-artifacts" + return "" + +IMAGE_TYPE_wic = "${@build_wic(d)}" +inherit ${IMAGE_TYPE_wic} + def build_live(d): if bb.utils.contains("IMAGE_FSTYPES", "live", "live", "0", d) == "0": # live is not set but hob might set iso or hddimg d.setVar('NOISO', bb.utils.contains('IMAGE_FSTYPES', "iso", "0", "1", d)) diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index dd9e3a20352..d7150363caa 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -101,7 +101,7 @@ class BootimgEFIPlugin(SourcePlugin): initrd = "" if source_params['initrd']: - initrd = source_params['initrd'] + initrd = source_params['initrd'] # obviously we need to have a common common deploy var bootimg_dir = get_bitbake_var("DEPLOY_DIR_IMAGE") if not bootimg_dir: @@ -139,7 +139,7 @@ class BootimgEFIPlugin(SourcePlugin): boot_conf += "options LABEL=Boot root=%s %s\n" % \ (creator.rootdev, bootloader.append) - if initrd: + if initrd: boot_conf += "initrd /%s\n" % initrd msger.debug("Writing systemd-boot config %s/hdd/boot/loader/entries/boot.conf" \ @@ -182,7 +182,7 @@ class BootimgEFIPlugin(SourcePlugin): In this case, prepare content for an EFI (grub) boot partition. """ if not bootimg_dir: - bootimg_dir = get_bitbake_var("DEPLOY_DIR_IMAGE") + bootimg_dir = get_bitbake_var("DEPLOY_DIR_IMAGE") if not bootimg_dir: msger.error("Couldn't find DEPLOY_DIR_IMAGE, exiting\n") bootimg_dir += "/artifacts" diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py index d9f6bb32cf4..555abdce4c7 100644 --- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py +++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py @@ -333,10 +333,10 @@ class IsoImagePlugin(SourcePlugin): # Support using a different initrd other than default if source_params['initrd']: - initrd = source_params['initrd'] - if not hdd_dir: - msger.error("Couldn't find DEPLOY_DIR_IMAGE, exiting\n") - cp_cmd = "cp %s/%s %s" % (hdd_dir, initrd, cr_workdir) + initrd = source_params['initrd'] + if not hdd_dir: + msger.error("Couldn't find DEPLOY_DIR_IMAGE, exiting\n") + cp_cmd = "cp %s/%s %s" % (hdd_dir, initrd, cr_workdir) else: # Prepare initial ramdisk initrd = "%s/initrd" % hdd_dir |