aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/boot-binary-artifacts.bbclass40
-rw-r--r--meta/classes/image.bbclass8
-rw-r--r--scripts/lib/wic/plugins/source/bootimg-efi.py6
-rw-r--r--scripts/lib/wic/plugins/source/isoimage-isohybrid.py8
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