diff options
author | Stefan Stanacar <stefanx.stanacar@intel.com> | 2014-03-06 19:57:25 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-11 09:29:40 -0700 |
commit | 14e5de3b8f4d5902d0ac683ff45fb878e88b40ef (patch) | |
tree | 16a74456544ea1c7be7d2469f09c41294a36dfd2 /meta | |
parent | 8f95d0598c31fff76e2a58fecb6c96197121a044 (diff) | |
download | openembedded-core-14e5de3b8f4d5902d0ac683ff45fb878e88b40ef.tar.gz openembedded-core-14e5de3b8f4d5902d0ac683ff45fb878e88b40ef.tar.bz2 openembedded-core-14e5de3b8f4d5902d0ac683ff45fb878e88b40ef.zip |
bootimg/grub-efi.bbclass: allow using a different class for EFI images
Abstract away some names so one can select using EFI_PROVIDER a different
class than grub-efi for populating live images, basically allowing the use
of a different bootloader than grub-efi.
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/boot-directdisk.bbclass | 7 | ||||
-rw-r--r-- | meta/classes/bootimg.bbclass | 9 | ||||
-rw-r--r-- | meta/classes/grub-efi.bbclass | 12 |
3 files changed, 15 insertions, 13 deletions
diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass index 42b341536a..88e5c52e2b 100644 --- a/meta/classes/boot-directdisk.bbclass +++ b/meta/classes/boot-directdisk.bbclass @@ -32,7 +32,8 @@ BOOTDD_VOLUME_ID ?= "boot" BOOTDD_EXTRA_SPACE ?= "16384" EFI = "${@base_contains("MACHINE_FEATURES", "efi", "1", "0", d)}" -EFI_CLASS = "${@base_contains("MACHINE_FEATURES", "efi", "grub-efi", "", d)}" +EFI_PROVIDER ?= "grub-efi" +EFI_CLASS = "${@base_contains("MACHINE_FEATURES", "efi", "${EFI_PROVIDER}", "", d)}" # Include legacy boot if MACHINE_FEATURES includes "pcbios" or if it does not # contain "efi". This way legacy is supported by default if neither is @@ -87,7 +88,7 @@ build_boot_dd() { syslinux_hddimg_populate $HDDDIR fi if [ "${EFI}" = "1" ]; then - grubefi_hddimg_populate $HDDDIR + efi_hddimg_populate $HDDDIR fi if [ "${IS_VMDK}" = "true" ]; then @@ -154,7 +155,7 @@ python do_bootdirectdisk() { 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_grub_cfg', d) + bb.build.exec_func('build_efi_cfg', d) bb.build.exec_func('build_boot_dd', d) } diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass index c370bd6a10..b13eef965d 100644 --- a/meta/classes/bootimg.bbclass +++ b/meta/classes/bootimg.bbclass @@ -42,7 +42,8 @@ BOOTIMG_VOLUME_ID ?= "boot" BOOTIMG_EXTRA_SPACE ?= "512" EFI = "${@base_contains("MACHINE_FEATURES", "efi", "1", "0", d)}" -EFI_CLASS = "${@base_contains("MACHINE_FEATURES", "efi", "grub-efi", "", d)}" +EFI_PROVIDER ?= "grub-efi" +EFI_CLASS = "${@base_contains("MACHINE_FEATURES", "efi", "${EFI_PROVIDER}", "", d)}" # Include legacy boot if MACHINE_FEATURES includes "pcbios" or if it does not # contain "efi". This way legacy is supported by default if neither is @@ -89,7 +90,7 @@ build_iso() { syslinux_iso_populate ${ISODIR} fi if [ "${EFI}" = "1" ]; then - grubefi_iso_populate ${ISODIR} + efi_iso_populate ${ISODIR} build_fat_img ${EFIIMGDIR} ${ISODIR}/efi.img fi @@ -206,7 +207,7 @@ build_hddimg() { syslinux_hddimg_populate ${HDDDIR} fi if [ "${EFI}" = "1" ]; then - grubefi_hddimg_populate ${HDDDIR} + efi_hddimg_populate ${HDDDIR} fi build_fat_img ${HDDDIR} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg @@ -227,7 +228,7 @@ python do_bootimg() { 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_grub_cfg', d) + bb.build.exec_func('build_efi_cfg', d) bb.build.exec_func('build_hddimg', d) bb.build.exec_func('build_iso', d) } diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass index 71bd00fe99..5c80c177de 100644 --- a/meta/classes/grub-efi.bbclass +++ b/meta/classes/grub-efi.bbclass @@ -26,7 +26,7 @@ GRUB_OPTS ?= "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1" EFIDIR = "/EFI/BOOT" -grubefi_populate() { +efi_populate() { # DEST must be the root of the image so that EFIDIR is not # nested under a top level directory. DEST=$1 @@ -42,9 +42,9 @@ grubefi_populate() { install -m 0644 ${GRUBCFG} ${DEST}${EFIDIR} } -grubefi_iso_populate() { +efi_iso_populate() { iso_dir=$1 - grubefi_populate $iso_dir + efi_populate $iso_dir # Build a EFI directory to create efi.img mkdir -p ${EFIIMGDIR}/${EFIDIR} cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR} @@ -55,11 +55,11 @@ grubefi_iso_populate() { fi } -grubefi_hddimg_populate() { - grubefi_populate $1 +efi_hddimg_populate() { + efi_populate $1 } -python build_grub_cfg() { +python build_efi_cfg() { import sys workdir = d.getVar('WORKDIR', True) |