Skip to content

RFC 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 RFC Latest5 patches 12 repliesIn 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 -011 replies
2/5bootimg: Refactor build_hddimg and build_iso routinesmeta/classes/bootimg.bbclass+43 -390 replies
3/5bootimg: Pull syslinux specific bits into syslinux.bbclassmeta/classes/bootimg.bbclass meta/classes/syslinux.bbclass+85 -730 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 [RFC 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 installe in the root directory and users will need to update their firmware or use a startup.nsh script for pure EFI booting.

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, and Josef Ahmad for their contributions of expertise, code, and testing.

NOTE: This is an RFC and not intended for inclusion. I would appreciate at least
one round of reviews from the OE experts and some additional testing before this is pulled.

The following changes since commit c5bdef56175c0b6863e3d588a5a2c23cbea7b568:

documentation/adt-manual/adt-prepare.xml: Fixed broken link (2011-11-08 21:49:45 +0000)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib dvhart/efi
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dvhart/efi

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                 |   84 +++++++++++---
 meta/recipes-bsp/grub/grub-efi-native_1.99.bb |   74 ++++++++++++
 5 files changed, 362 insertions(+), 86 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