mirror of
https://git.yoctoproject.org/poky
synced 2026-09-19 00:49:33 +02:00
wic: add support for kernel with initramfs bundled
when INITRAMFS_IMAGE_BUNDLE and INITRAMFS_IMAGE are set, wic should look for kernel with initramfs image bundled. Include required variable MACHINE, INITRAMFS_IMAGE_BUNDLE, INITRAMFS_IMAGE, INITRAMFS_LINK_NAME and KERNEL_IMAGETYPE in WICVARS. No longer require default value for variable kernel as KERNEL_IMAGETYPE is not optional variable and included in WICVARS. image_types_wic to inherit kernel-artifact-names to obtain default INITRAMFS_LINK_NAME when INITRAMFS_IMAGE_BUNDLE are set. update wic.Wic2.test_image_env test case to filter optional variable INITRAMFS_LINK_NAME, INITRAMFS_IMAGE and INITRAMFS_IMAGE_BUNDLE. (From OE-Core rev: bac984fbb2d5ad5d13ba3275c8a3e878d8753c58) Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
28688a2770
commit
b697aba61e
@@ -3,7 +3,10 @@
|
|||||||
WICVARS ?= "\
|
WICVARS ?= "\
|
||||||
BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_BOOT_FILES \
|
BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_BOOT_FILES \
|
||||||
IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \
|
IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \
|
||||||
ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS"
|
ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS \
|
||||||
|
KERNEL_IMAGETYPE MACHINE INITRAMFS_IMAGE INITRAMFS_IMAGE_BUNDLE INITRAMFS_LINK_NAME"
|
||||||
|
|
||||||
|
inherit ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)}
|
||||||
|
|
||||||
WKS_FILE ??= "${IMAGE_BASENAME}.${MACHINE}.wks"
|
WKS_FILE ??= "${IMAGE_BASENAME}.${MACHINE}.wks"
|
||||||
WKS_FILES ?= "${WKS_FILE} ${IMAGE_BASENAME}.wks"
|
WKS_FILES ?= "${WKS_FILE} ${IMAGE_BASENAME}.wks"
|
||||||
|
|||||||
@@ -499,7 +499,8 @@ class Wic2(WicTestCase):
|
|||||||
wicvars = set(bb_vars['WICVARS'].split())
|
wicvars = set(bb_vars['WICVARS'].split())
|
||||||
# filter out optional variables
|
# filter out optional variables
|
||||||
wicvars = wicvars.difference(('DEPLOY_DIR_IMAGE', 'IMAGE_BOOT_FILES',
|
wicvars = wicvars.difference(('DEPLOY_DIR_IMAGE', 'IMAGE_BOOT_FILES',
|
||||||
'INITRD', 'INITRD_LIVE', 'ISODIR'))
|
'INITRD', 'INITRD_LIVE', 'ISODIR','INITRAMFS_IMAGE',
|
||||||
|
'INITRAMFS_IMAGE_BUNDLE', 'INITRAMFS_LINK_NAME'))
|
||||||
with open(path) as envfile:
|
with open(path) as envfile:
|
||||||
content = dict(line.split("=", 1) for line in envfile)
|
content = dict(line.split("=", 1) for line in envfile)
|
||||||
# test if variables used by wic present in the .env file
|
# test if variables used by wic present in the .env file
|
||||||
|
|||||||
@@ -74,8 +74,10 @@ class BootimgEFIPlugin(SourcePlugin):
|
|||||||
grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot")
|
grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot")
|
||||||
|
|
||||||
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
||||||
if not kernel:
|
if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
|
||||||
kernel = "bzImage"
|
if get_bitbake_var("INITRAMFS_IMAGE"):
|
||||||
|
kernel = "%s-%s.bin" % \
|
||||||
|
(get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
|
||||||
|
|
||||||
label = source_params.get('label')
|
label = source_params.get('label')
|
||||||
label_conf = "root=%s" % creator.rootdev
|
label_conf = "root=%s" % creator.rootdev
|
||||||
@@ -154,8 +156,10 @@ class BootimgEFIPlugin(SourcePlugin):
|
|||||||
if not custom_cfg:
|
if not custom_cfg:
|
||||||
# Create systemd-boot configuration using parameters from wks file
|
# Create systemd-boot configuration using parameters from wks file
|
||||||
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
||||||
if not kernel:
|
if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
|
||||||
kernel = "bzImage"
|
if get_bitbake_var("INITRAMFS_IMAGE"):
|
||||||
|
kernel = "%s-%s.bin" % \
|
||||||
|
(get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
|
||||||
|
|
||||||
title = source_params.get('title')
|
title = source_params.get('title')
|
||||||
|
|
||||||
@@ -225,8 +229,10 @@ class BootimgEFIPlugin(SourcePlugin):
|
|||||||
hdddir = "%s/hdd/boot" % cr_workdir
|
hdddir = "%s/hdd/boot" % cr_workdir
|
||||||
|
|
||||||
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
||||||
if not kernel:
|
if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
|
||||||
kernel = "bzImage"
|
if get_bitbake_var("INITRAMFS_IMAGE"):
|
||||||
|
kernel = "%s-%s.bin" % \
|
||||||
|
(get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
|
||||||
|
|
||||||
install_cmd = "install -m 0644 %s/%s %s/%s" % \
|
install_cmd = "install -m 0644 %s/%s %s/%s" % \
|
||||||
(staging_kernel_dir, kernel, hdddir, kernel)
|
(staging_kernel_dir, kernel, hdddir, kernel)
|
||||||
|
|||||||
@@ -150,8 +150,10 @@ class BootimgPcbiosPlugin(SourcePlugin):
|
|||||||
hdddir = "%s/hdd/boot" % cr_workdir
|
hdddir = "%s/hdd/boot" % cr_workdir
|
||||||
|
|
||||||
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
||||||
if not kernel:
|
if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
|
||||||
kernel = "bzImage"
|
if get_bitbake_var("INITRAMFS_IMAGE"):
|
||||||
|
kernel = "%s-%s.bin" % \
|
||||||
|
(get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
|
||||||
|
|
||||||
cmds = ("install -m 0644 %s/%s %s/vmlinuz" %
|
cmds = ("install -m 0644 %s/%s %s/vmlinuz" %
|
||||||
(staging_kernel_dir, kernel, hdddir),
|
(staging_kernel_dir, kernel, hdddir),
|
||||||
|
|||||||
@@ -71,8 +71,11 @@ class IsoImagePlugin(SourcePlugin):
|
|||||||
syslinux_conf += "LABEL boot\n"
|
syslinux_conf += "LABEL boot\n"
|
||||||
|
|
||||||
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
||||||
if not kernel:
|
if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
|
||||||
kernel = "bzImage"
|
if get_bitbake_var("INITRAMFS_IMAGE"):
|
||||||
|
kernel = "%s-%s.bin" % \
|
||||||
|
(get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
|
||||||
|
|
||||||
syslinux_conf += "KERNEL /" + kernel + "\n"
|
syslinux_conf += "KERNEL /" + kernel + "\n"
|
||||||
syslinux_conf += "APPEND initrd=/initrd LABEL=boot %s\n" \
|
syslinux_conf += "APPEND initrd=/initrd LABEL=boot %s\n" \
|
||||||
% bootloader.append
|
% bootloader.append
|
||||||
@@ -117,8 +120,10 @@ class IsoImagePlugin(SourcePlugin):
|
|||||||
grubefi_conf += "menuentry 'boot'{\n"
|
grubefi_conf += "menuentry 'boot'{\n"
|
||||||
|
|
||||||
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
||||||
if not kernel:
|
if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
|
||||||
kernel = "bzImage"
|
if get_bitbake_var("INITRAMFS_IMAGE"):
|
||||||
|
kernel = "%s-%s.bin" % \
|
||||||
|
(get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
|
||||||
|
|
||||||
grubefi_conf += "linux /%s rootwait %s\n" \
|
grubefi_conf += "linux /%s rootwait %s\n" \
|
||||||
% (kernel, bootloader.append)
|
% (kernel, bootloader.append)
|
||||||
@@ -273,8 +278,10 @@ class IsoImagePlugin(SourcePlugin):
|
|||||||
os.remove("%s/initrd.cpio.gz" % cr_workdir)
|
os.remove("%s/initrd.cpio.gz" % cr_workdir)
|
||||||
|
|
||||||
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
|
||||||
if not kernel:
|
if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
|
||||||
kernel = "bzImage"
|
if get_bitbake_var("INITRAMFS_IMAGE"):
|
||||||
|
kernel = "%s-%s.bin" % \
|
||||||
|
(get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
|
||||||
|
|
||||||
install_cmd = "install -m 0644 %s/%s %s/%s" % \
|
install_cmd = "install -m 0644 %s/%s %s/%s" % \
|
||||||
(kernel_dir, kernel, isodir, kernel)
|
(kernel_dir, kernel, isodir, kernel)
|
||||||
|
|||||||
Reference in New Issue
Block a user