1
0
mirror of https://git.yoctoproject.org/poky synced 2026-07-15 15:37:03 +00:00

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]

(From OE-Core rev: e38c94d6bf83ed3ca7f046d9503e81b927487bf2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang
2016-02-24 01:23:58 -08:00
committed by Richard Purdie
parent 5c5c13d777
commit bb1c719250
5 changed files with 38 additions and 25 deletions
+4 -4
View File
@@ -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)