[OE-core] [PATCH 3/3] bootimg.bbclass: only inherit syslinux when pcbios
Robert Yang
liezhi.yang at windriver.com
Thu Mar 31 01:12:50 UTC 2016
On 03/31/2016 09:01 AM, Saul Wold wrote:
> On Tue, 2016-03-22 at 02:48 -0700, Robert Yang wrote:
>> syslinux.bbclass should not be seen when use efi.
>>
> That's not completely true, there is a case which still requires the
> ioslinux.bin binary when EFI is used. In the build_iso() function
> there is a workaround that is still required and uses isolinux.bin
>
> This change breaks building EFI only machines (intel-quark for example)
>
> Please check into this.
I had built EFI only boards before send this, it worked well. I will check
meta-intel's intel-quark .
// Robert
> Thanks
>
> Sau!
>
>> Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
>> ---
>> meta/classes/boot-directdisk.bbclass | 1 -
>> meta/classes/bootimg.bbclass | 9 +++++++--
>> meta/classes/image-live.bbclass | 1 -
>> meta/classes/syslinux.bbclass | 7 +++----
>> 4 files changed, 10 insertions(+), 8 deletions(-)
>>
>> diff --git a/meta/classes/boot-directdisk.bbclass
>> b/meta/classes/boot-directdisk.bbclass
>> index c6ada47..46f88ac 100644
>> --- a/meta/classes/boot-directdisk.bbclass
>> +++ b/meta/classes/boot-directdisk.bbclass
>> @@ -59,7 +59,6 @@ inherit ${EFI_CLASS}
>>
>> DISK_SIGNATURE ?= "${DISK_SIGNATURE_GENERATED}"
>> ROOT_VM ?= "root=/dev/sda2"
>> -SYSLINUX_CFG_VM ?= "${S}/syslinux_vm.cfg"
>>
>> boot_direct_populate() {
>> dest=$1
>> diff --git a/meta/classes/bootimg.bbclass
>> b/meta/classes/bootimg.bbclass
>> index 70ce070..d9ed7db 100644
>> --- a/meta/classes/bootimg.bbclass
>> +++ b/meta/classes/bootimg.bbclass
>> @@ -40,6 +40,11 @@ EFIIMGDIR = "${S}/efi_img"
>> COMPACT_ISODIR = "${S}/iso.z"
>> COMPRESSISO ?= "0"
>>
>> +ISOLINUXDIR ?= "/isolinux"
>> +ISO_BOOTIMG = "isolinux/isolinux.bin"
>> +ISO_BOOTCAT = "isolinux/boot.cat"
>> +MKISOFS_OPTIONS = "-no-emul-boot -boot-load-size 4 -boot-info-table"
>> +
>> BOOTIMG_VOLUME_ID ?= "boot"
>> BOOTIMG_EXTRA_SPACE ?= "512"
>>
>> @@ -59,10 +64,10 @@ def pcbios(d):
>> return pcbios
>>
>> PCBIOS = "${@pcbios(d)}"
>> +PCBIOS_CLASS = "${@['','syslinux'][d.getVar('PCBIOS', True) ==
>> '1']}"
>>
>> -# The syslinux is required for the isohybrid command and boot
>> catalog
>> -inherit syslinux
>> inherit ${EFI_CLASS}
>> +inherit ${PCBIOS_CLASS}
>>
>> populate() {
>> DEST=$1
>> diff --git a/meta/classes/image-live.bbclass b/meta/classes/image-
>> live.bbclass
>> index 504725d..05e416a 100644
>> --- a/meta/classes/image-live.bbclass
>> +++ b/meta/classes/image-live.bbclass
>> @@ -3,7 +3,6 @@ INITRD_IMAGE_LIVE ?= "core-image-minimal-initramfs"
>> INITRD_LIVE ?= "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE_LIVE}-
>> ${MACHINE}.cpio.gz"
>> ROOT_LIVE ?= "root=/dev/ram0"
>> LABELS_LIVE ?= "boot install"
>> -SYSLINUX_CFG_LIVE ?= "${S}/syslinux_live.cfg"
>>
>> ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.ext4"
>>
>> diff --git a/meta/classes/syslinux.bbclass
>> b/meta/classes/syslinux.bbclass
>> index 6de656b..7d324c3 100644
>> --- a/meta/classes/syslinux.bbclass
>> +++ b/meta/classes/syslinux.bbclass
>> @@ -20,7 +20,7 @@
>> do_bootimg[depends] += "${MLPREFIX}syslinux:do_populate_sysroot \
>> syslinux-native:do_populate_sysroot"
>>
>> -ISOLINUXDIR = "/isolinux"
>> +ISOLINUXDIR ?= "/isolinux"
>> SYSLINUXDIR = "/"
>> # The kernel has an internal default console, which you can override
>> with
>> # a console=...some_tty...
>> @@ -30,10 +30,9 @@ SYSLINUX_SERIAL_TTY ?= "console=ttyS0,115200"
>> SYSLINUX_PROMPT ?= "0"
>> SYSLINUX_TIMEOUT ?= "50"
>> AUTO_SYSLINUXMENU ?= "1"
>> -ISO_BOOTIMG = "isolinux/isolinux.bin"
>> -ISO_BOOTCAT = "isolinux/boot.cat"
>> -MKISOFS_OPTIONS = "-no-emul-boot -boot-load-size 4 -boot-info-table"
>> SYSLINUX_ROOT ?= "${ROOT}"
>> +SYSLINUX_CFG_VM ?= "${S}/syslinux_vm.cfg"
>> +SYSLINUX_CFG_LIVE ?= "${S}/syslinux_live.cfg"
>> APPEND_prepend = " ${SYSLINUX_ROOT} "
>>
>> # Need UUID utility code.
>> --
>> 1.7.9.5
>>
>
More information about the Openembedded-core
mailing list