[OE-core] [PATCH 0/5] EFI live image support

Darren Hart darren at dvhart.com
Wed Nov 30 17:47:48 UTC 2011


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

-- 
1.7.6.4





More information about the Openembedded-core mailing list