Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Mar 2018 11:06:24 -0700
From:      Benno Rice <benno@FreeBSD.org>
To:        FreeBSD Current <freebsd-current@freebsd.org>, freebsd-hackers@freebsd.org
Subject:   Testing requested: Hybrid ISO/USB boot
Message-ID:  <D606FA1E-8E53-4D57-8A3C-2914B92385D6@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
Hello all!

I=E2=80=99ve 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=E2=80=99ll 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=E2=80=99t 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 =E2=80=9Cbootonly=E2=80=9D 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=E2=80=99ve tested this image under qemu and VMware under all four of =
the BIOS/UEFI and CD/HDD combinations. I=E2=80=99ve also booted a system =
build around an Asus X399 Prime motherboard with this dd=E2=80=99ed to a =
USB stick. I=E2=80=99d love some testing on more systems, especially =
things that are more likely to have more customized boot firmwares =
(I=E2=80=99m thinking Dell, HP, etc).

Many thanks,
	Benno.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D606FA1E-8E53-4D57-8A3C-2914B92385D6>