Page MenuHomeFreeBSD

Switch to NetBSD's implementation of El Torito EFI handling
ClosedPublic

Authored by benno on Mar 30 2018, 10:21 PM.

Details

Summary

NetBSD took a different approach to implementing EFI support in El Torito. The primary difference is that they didn't overload the system ID in the way I did which appears to be a better idea.

For more detail, an El Torito boot catalog has Sections, each Section starts with a Section Header that indicates a Platform. Inside that Section there are Section Entries which roughly resemble the Initial Boot Entry in which fields they have, including the System ID that indicates what kind of environment they're set up to boot. For a dual-mode BIOS/UEFI image it looks like the "right" way is to have the BIOS no-emulation image as the "default" and then an ESP FAT image as an i386-system-tagged entry in an EFI-platform-tagged section. This lets us indicate this without having to overload things.

Test Plan

Generate ISO images and have them look right (done).

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Regenerated diff with -U9999

I like it. I can see no compelling reason to not adopt this, and it looks way cleaner than some of the other alternatives.

This revision is now accepted and ready to land.Mar 30 2018, 11:21 PM
This revision was automatically updated to reflect the committed changes.