[RFC,0/5] EFI live image support

Submitted by Darren Hart on Nov. 24, 2011, 8:04 a.m. | Patch ID: 15373


Message ID cover.1322120651.git.dvhart@linux.intel.com
State New
Headers show


git://git.pokylinux.org/poky-contrib dvhart/efi

Commit Message

Darren Hart Nov. 24, 2011, 8:04 a.m.
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

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


Darren Hart Nov. 24, 2011, 8:14 a.m.
On 11/24/2011 12:04 AM, Darren Hart wrote:
> Thanks to Koen Kooi, Chris Larson, Richard Purdie, and Josef Ahmad for their
> contributions of expertise, code, and testing.

The problem of course with listing people, is that you are likely to
miss some. Especially at midnight prior to a major holiday. My apologies
to Saul Wold and Joshua Lock who also provided valuable assistance, as
well as the others whom I shall predictably recall promptly upon
pressing "Send".