From e38c94d6bf83ed3ca7f046d9503e81b927487bf2 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Wed, 24 Feb 2016 01:23:58 -0800 Subject: syslinux.bbclass: make vm and live can be built together * The vm image(hdddirect, vmdk, qcow2, vdi) and live image (hddimg, iso) couldn't be built together because the following vars settings are conflicted: - SYSLINUX_ROOT (/dev/sda2 vs /dev/ram0) - LABELS (boot vs boot install) - INITRD (None vs live install) - SYSLINUX_CFG (see above) Introduce new vars (SYSLINUX_ROOT_VM/_LIVE, the samilar to others) to make them can work together, now we can build all of them together: IMAGE_FSTYPES += "live iso hddimg hdddirect vmdk qcow2 vdi" * Use SYSLINUX_CFG rather than SYSLINUXCFG to keep align with others SYSLINUX vars. * The SYSLINUX_TIMEOUT had been set, but it didn't work since AUTO_SYSLINUXMENU wasn't set, this would cause confusions, so also set AUTO_SYSLINUXMENU. * Move SYSLINUX_PROMPT and SYSLINUX_TIMEOUT to syslinux.bbclass rather than in separate classes since they are the same. * Set SYSLINUX_TIMEOUT to 50 to have a unique timeout for syslinux. [YOCTO #9161] Signed-off-by: Robert Yang Signed-off-by: Ross Burton --- meta/classes/boot-directdisk.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'meta/classes/boot-directdisk.bbclass') diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass index 89007e315b..fcdef26fd8 100644 --- a/meta/classes/boot-directdisk.bbclass +++ b/meta/classes/boot-directdisk.bbclass @@ -53,14 +53,13 @@ def pcbios_class(d): PCBIOS = "${@pcbios(d)}" PCBIOS_CLASS = "${@pcbios_class(d)}" +# Get the build_syslinux_cfg() function from the syslinux class inherit ${PCBIOS_CLASS} inherit ${EFI_CLASS} -# Get the build_syslinux_cfg() function from the syslinux class - DISK_SIGNATURE ?= "${DISK_SIGNATURE_GENERATED}" -SYSLINUX_ROOT ?= "root=/dev/sda2" -SYSLINUX_TIMEOUT ?= "10" +SYSLINUX_ROOT_VM ?= "root=/dev/sda2" +SYSLINUX_CFG_VM ?= "${S}/syslinux_hdd.cfg" boot_direct_populate() { dest=$1 @@ -162,6 +161,7 @@ build_boot_dd() { python do_bootdirectdisk() { validate_disk_signature(d) if d.getVar("PCBIOS", True) == "1": + syslinux_set_vars(d, 'VM') bb.build.exec_func('build_syslinux_cfg', d) if d.getVar("EFI", True) == "1": bb.build.exec_func('build_efi_cfg', d) -- cgit v1.2.3