Hello all!

I’ve been working on the ability to create hybrid ISO/HDD boot images for x86, 
a la what Linux systems do with ISOHYBRID. The general theory seems to be that 
ISO images have a 32KB hunk of zeroes at the front that they generally ignore 
so we’ll stick something in there that can handle booting if need be. The cases 
generally break down as follows:

UEFI with CD: Boots using an EFI system partition embedded in the ISO image. 
This loads loader, and so on.
UEFI with HDD: Same as above as UEFI doesn’t really care what the underlying 
medium is and it sees the ISO image.
Legacy BIOS with CD: Boots using El Torrito as always.

And now for the new part:

Legacy BIOS with HDD: Sees a DOS MBR stuck in the 32KB at the front of the ISO 
image. This MBR contains our MBR boot code, which sees an active BSD slice 
containing a variant of our BSD boot code that reads from the ISO filesystem 
instead of UFS. This finds loader in the ISO filesystem and loads that. Loader 
has had support for reading ISO9660 images off HDDs added. Everything continues 
normally after that.

The review for these changes is here:

https://reviews.freebsd.org/D14799 <https://reviews.freebsd.org/D14799>

And a version of the standard “bootonly” ISO image built with these changes is 
here:

https://people.freebsd.org/~benno/hybrid-bootonly.iso.xz 
<https://people.freebsd.org/~benno/hybrid-bootonly.iso.xz>

I’ve tested this image under qemu and VMware under all four of the BIOS/UEFI 
and CD/HDD combinations. I’ve also booted a system build around an Asus X399 
Prime motherboard with this dd’ed to a USB stick. I’d love some testing on more 
systems, especially things that are more likely to have more customized boot 
firmwares (I’m thinking Dell, HP, etc).

Many thanks,
        Benno.
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to