Just adding some information that might be useful to others who find themselves in a similar position:

ReactOS (open source widows re-implementation) has a bootloader called freeloader which is capable of loading all sorts of windows and windows-like operating systems. It can even do funny things like boot windows server 2003 from a btrfs or ext2/3 partition.

Freeloader can be loaded by grub as a multiboot-compatible kernel, with instructions here:

I would expect it to also be possible to chainload it from linux using kexec, making it possible to boot windows from within linuxboot-based payloads.

    -Matthew Bradley

On Wed, Jun 12, 2019 at 11:55 PM Matt B <matthewwbradley6@gmail.com> wrote:
I think SeaBIOS already has an option to build a multiboot image. In
either case you could also (in theory) pack either into a bzImage and
feed that to kexec.

Clearly this is one place I should look next. I was mainly looking at grub as I understood it to be the most capable among payloads, though not necessarily the most streamlined.

Just for the sake of completeness, can grub be packed into a compatible multiboot image? I can only find information on grub loading them.

I wonder why you would want to chainload grub, however, instead of
using u-root programs that read grub config files and do the boot

My impression is things that try to parse grub config files (or similar) tend to implement only partial compatibility and be a bit buggy. I also couldn't find any clear documentation on this.

There are reasons to use grub, of course, but I was curious
about your specific reason.

From what I've read grub has the best support among payloads for things like loading or verifying encrypted partitions, while also being able to load a wide variety of media (from live CDs to windows loaders). The general outline was to have linuxboot come up first and do all of the boot logic and other tasks in a nice linux environment, then invoke grub to take the appropriate final action. I still don't know if seabios can boot something on an encrypted partition, even if the linux runtime that's loading seabios is capable of mounting it.

One of many ideas I'm fiddling with is to implement functionality that coreboot lacks compared to most proprietary BIOSs (self flashing, configuration, and other goodies) using fairly normal scripts under linux. If linuxboot can provide a great deal of flexibility, this is one way I can imagine using it.

windows 12



On Wed, Jun 12, 2019 at 4:26 AM Mike Banon <mikebdp2@gmail.com> wrote:
At least Windows 10 supports the Legacy BIOS, and most likely 12 will
too. As long as they are making a 32-bit version of Windows they're
still caring about the "legacy" PCs and we shouldn't be worried. Also,
it's hard to imagine a coreboot'er who would be running 12 natively -
not inside some virtual machine.

On Wed, Jun 12, 2019 at 2:38 AM Gregg Levine <gregg.drwho8@gmail.com> wrote:
> Hello!
> (Incidentally all of you are getting this because Google Mail delights
> in sending things out as reply-all.)
> I'm currently an observer in this set of circumstances but as it
> happens Stefan you are very right. My older laptop used a BIOS that
> was more suited to an earlier and even uglier release of Windows(!)
> and this one is using EFI and behaves strangely  sometimes.
> Oh and I was able to run Windows 8 and Windows 8.1 for a while on the
> older one. Slowly of course but those versions ran.
> Let's see what does work..
> -----
> Gregg C Levine gregg.drwho8@gmail.com
> "This signature fought the Time Wars, time and again."
> On Tue, Jun 11, 2019 at 6:53 PM Stefan Reinauer
> <stefan.reinauer@coreboot.org> wrote:
> >
> > * ron minnich <rminnich@gmail.com> [190611 07:13]:
> > > if you boot windows 12 would you need tianocore?
> >
> > Need is a harsh word, but the simple answer to a simple question is yes,
> > you do.
> >
> > You can use SeaBIOS, but Windows does not officially support legacy BIOS
> > since at least Windows 7, so whatever works today might stop working
> > tomorrow.
> >
> > >
> > > On Mon, Jun 10, 2019 at 1:44 PM Nico Huber <nico.h@gmx.de> wrote:
> > > >
> > > > On 09.06.19 20:53, Matt B wrote:
> > > > > It is possible through u-root support for multiboot images [1] to chainload
> > > > > grub?
> > > >
> > > > Yes, I would think so. But in case we are still on topic: It won't
> > > > help you to boot Windows (unless you also implement UEFI services
> > > > in your LinuxBoot and use a UEFI GRUB).
> > > >
> > > > To chainload something for Windows I would currently go either one of
> > > > these ways:
> > > >
> > > >     coreboot -> LinuxBoot -> SeaBIOS   -> Windows loader
> > > >     coreboot -> LinuxBoot -> tianocore -> Windows loader
> > > >
> > > > I think SeaBIOS already has an option to build a multiboot image. In
> > > > either case you could also (in theory) pack either into a bzImage and
> > > > feed that to kexec.
> > > >
> > > > Nico
> _______________________________________________
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-leave@coreboot.org