Skip to content

EFI live image support

Darren Hart openembedded-core 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5grub-efi-native: New recipe to build GRUB EFI imagesmeta/recipes-bsp/grub/grub-efi-native_1.99.bb+74 -00 replies
2/5bootimg: Refactor build_hddimg and build_iso routinesmeta/classes/bootimg.bbclass+43 -420 replies
3/5bootimg: Pull syslinux specific bits into syslinux.bbclassmeta/classes/bootimg.bbclass meta/classes/syslinux.bbclass+76 -630 replies
4/5bootimg: Add grub-efi supportmeta/classes/bootimg.bbclass meta/classes/dummy.bbclass meta/classes/grub-efi.bbclass+155 -00 replies
5/5bootimg: Allow for EFI-only boot imagesmeta/classes/bootimg.bbclass+40 -90 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/5] EFI live image support

This series provides optional support for EFI boot for live images, both hddimg and ISO, on ia32 platforms. It creates a new grub-efi-native recipe to create the boot image. bootimg.bbclass has been refactored and syslinux support has been made optional. The new live images can be built as PCBIOS-legacy (the original type), EFI, or both. The MACHINE_FEATURES values "pcbios" and "efi" dictate this behavior, if neither are specified, it defaults to PCBIOS-legacy only to maintain current behavior.

It is careful not to add unecessary dependencies to the build by dynamically including only the necessary bootloader classes (syslinux and/or grub-efi).

EFI hddimg's do not install into /EFI/BOOT as is proper due to a bug in the
dosfstools: http://bugzilla.yoctoproject.org/show_bug.cgi?id=1783. For now, the files are installed in the root directory and users will need to update their firmware or use a startup.nsh script for pure EFI booting, or move them to /EFI/BOOT manually.

Testing performed includes verification of the images built for the n450 BSP with all combinations of the MACHINE_FEATURES. The syslinux and grub-efi boot methods were validated on the n450 hardware as well. EFI-only ISO images are untested, help here would be appreciated.

While the "install" target is preserved for the EFI boot, it will perform the same install as it does currently - namely a GRUB legacy boot mechanism. Support for EFI boot post install will follow in another patch series.

Thanks to Koen Kooi, Chris Larson, Richard Purdie, Josef Ahmad, Saul Wold, and Joshua Lock for their contributions of expertise, code, and testing.

The following changes since commit 2864ff6a4b3c3f9b3bbb6d2597243cc5d3715939:

getVar/setVar cleanups (2011-11-26 22:42:00 +0000)

are available in the git repository at:
git://git.yoctoproject.org/user-contrib/dvhart/oe-core efi/v1
http://git.yoctoproject.org/cgit.cgi/user-contrib/dvhart/oe-core/log/?h=efi/v1

Darren Hart (5):
grub-efi-native: New recipe to build GRUB EFI images
bootimg: Refactor build_hddimg and build_iso routines
bootimg: Pull syslinux specific bits into syslinux.bbclass
bootimg: Add grub-efi support
bootimg: Allow for EFI-only boot images

 meta/classes/bootimg.bbclass                  |  148 +++++++++++++------------
 meta/classes/dummy.bbclass                    |    2 +
 meta/classes/grub-efi.bbclass                 |  140 +++++++++++++++++++++++
 meta/classes/syslinux.bbclass                 |   68 ++++++++++--
 meta/recipes-bsp/grub/grub-efi-native_1.99.bb |   74 ++++++++++++
 5 files changed, 353 insertions(+), 79 deletions(-)
 create mode 100644 meta/classes/dummy.bbclass
 create mode 100644 meta/classes/grub-efi.bbclass
 create mode 100644 meta/recipes-bsp/grub/grub-efi-native_1.99.bb
Signature · 1 line
1.7.6.4