Re: [RFC] x86 ELF bootable kernels/Linux booting Linux/LinuxBIOS

Eric W. Biederman
2002-02-02T16:22:03Z

"H. Peter Anvin" <hpa@zytor.com> writes:

> Eric W. Biederman wrote:
>
> > What is magic about interactivity? What makes this a different
> > problem? We approach booting from totally different perspectives,
> > which makes communicating clearly hard. If you spell out individual problems
> > I will show you how I would solve
> > them.
> >
>
>
> It makes it a very different problem because YOU DON'T KNOW WHAT YOU'RE BOOTING
> UNTIL THE USER TELLS YOU.
>
> In fact, depending on just exactly what you're doing, you might not even know
> what you're booting until you have already gotten several items downloaded
> (consider, for example, a device-probing bootloader.)
>
> Therefore, the bootloader must be able to obtain boot medium services not just
> once and for all, but on a back-and-forth basis. There needs to be an API
> between the boot loader and the firmware, and just "stuffing it into memory"
> doesn't count.

If you are correct, then there a fundamental design problem with my
Linux Booting Linux code. Because that is exactly what I do. I stuff
the kernel in memory and jump to it. Once the new kernel starts there is
no back and forth. _Please_ help me understand why this back and
forth is needed.

Here is my experience. Non-interactive etherboot, doesn't know what
it is booting, or where it is booting from until the DHCP server tells
it. Then it gets a file from a TFTP server and boots that.

When booting the Linux kernel it never attempts to do a back and forth
via the firmware to the boot medium. Instead someone has a clue about
what the boot medium was and it mounts that medium using it's own
drivers. Booting a rescue cd is a good example.

_Please_ help me find the flaw in my understanding.