[Prev][Next][Index][Thread]
Comments about the patch I sent / net booting experiences [was: Re: some bugs in netboot]
Just a short note on the patch I submitted yesterday: it is not an official
patch (reason: missing code for the bootp/dhcp configuration case and the
introduction of a totally new IP configuration mechanism). It should work,
but it doesn't comply with the philosophy of the rest of the code. Anyway,
comments are very much appreciated.
The reasons why I wrote this code are:
- bug fixing
- better integration of the booting process of my experimental OS (which is
not based on the oskit - for reasons too complicated to discuss in this
message). I'm using a rather strange net boot (note the space!) setup.
First stage boot: etherboot 4.2.1
Second stage boot: linux boot image loader for etherboot 4.2.1
Third stage: linux boot image to multiboot image converter from the oskit
Fourth stage: oskit netboot 2.7
Fifth stage: my own kernel.
I know, this seems excessive, but it works perfectly. Network boot isn't
just a convenience issue in kernel development, it is a precondition of
efficient work and mental sanity.
The fourth stage will be obsolete (and in case of a disk boot the first
stage is replaced by a loader for linux kernel images) once it works
properly, but having such a layered boot makes it easy to boot over just
about everything.
Because I'm using the linux boot image loader from etherboot the command
line passed by it is Linux-oriented. I thought it would be cool to use
it for the later stages. Maybe someone could write a multiboot kernel
loader for etherboot, then all these kernel environment variables could
be removed in favor of passing the bootp record around (which etherboot
supports), but this is a blind spot in the multiboot spec.
Again, the patch is only for oskit-990402. If you don't want to use 990402
as a whole, just replace the boot directory in the oskit-0.97 tree by the
990402 version and then apply the patch. I did it this way.
Sorry for the long message, but I thought the notes about network boot are
of general interest. If someone has trouble setting up a similar development
environment - just ask.
Klaus
References: