Bug 1950 - EFI only live images are not bootable
Summary: EFI only live images are not bootable
Status: RESOLVED INVALID
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: deployment (show other bugs)
Version: 1.2
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.5 M4
Assignee: Darren Hart
QA Contact:
URL:
Whiteboard:
Depends on: 3847
Blocks:
  Show dependency tree
 
Reported: 2012-02-01 13:08 UTC by Darren Hart
Modified: 2013-08-30 21:17 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Don't know


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darren Hart 2012-02-01 13:08:14 UTC
do_bootimg will create three kinds of live images:

1 pcbios (syslinux)
2 efi (grub-efi)
3 pcbios+efi

1 and 3 install the syslinux MBR to the beginning of the hddimg it generates. This allows EFI firmware and the Linux to recognize the device and boot and mount the ramdisk. Without it, it fails either in the EFI firmware, or during boot waiting for the root filesystem.

This will likely be addressed via Bug 1763, but it is a separate issue and needs to be tracked accordingly.
Comment 1 Darren Hart 2012-03-29 23:44:22 UTC
This appears to be firmware specific as I have since booted efi-only images on certain hardware platforms. Dropping to low-minor until a more exact description can be made.
Comment 2 Darren Hart 2012-07-20 21:54:02 UTC
The EFI Spec requires an MBR or GPT partitioned disk, a Disk Volume (no partition tables) is not listed as supported. Some devices, like the FRI2 and the SYS940x, deal with this, others do not, like the n450. As we have no way to create these types of images without root privileges, this is going to be part of the larger project to revamp the way we manage images (Bug 1763).
Comment 3 Darren Hart 2013-02-28 05:07:57 UTC
The workaround for 1.4 is to use mkefidisk.sh, which creates a properly partitioned image from an hddimg. This is ultimately part of the larger deployment project, and it will be targeted for 1.5. Marking as 1.5.
Comment 4 Darren Hart 2013-08-30 21:17:28 UTC
The UEFI specification defines a number of disk formats, but it does not specify on which media these formats must be supported. Some implementations, for example, will not attempt to read an ISO image off anything with block sizes under 2048. As such, it is not feasible to expect the diskette format live images created by the current image class to work universally on EFI firmware implementations. An image of the format created by mkefidisk.sh is the right solution. As this is covered by 3847, I'm closing this bug out as INVALID since it cannot be fixed in the way intended by this bug.