[plug] Helpers wanted - Netbooting Installations

Bernard Blackham bernard at blackham.com.au
Wed May 26 02:55:00 WST 2004


Greetings,

I'm after people who have had some experience in getting their
favourite (or least favourite :) distribution to install through
netbooting. Debian I can do; the others are Fedora, SuSE, Mandrake
and Gentoo. If you've done it before and willing to help do it
again, could you please let me know.

As part of the Installfest preparations, I've been looking at
setting up a netboot installation setup where:

 1. you drop a floppy/CD-ROM into a machine
 2. It boots to a GRUB menu that asks you to select your network
    card/driver (one of GRUB's drivers)
 3. It loads that driver and DHCPs on the network for an IP address,
    a TFTP server, and another menu to display.
 4. The menu lists the various distributions available. The user
    selects one.
 5. The installation netboots and whatever happens from therein is
    distribution specific.

So from the user's point of view, they drop in the CD or floppy,
select their network card, distribution and they're away. A single
CD or floppy is all that's required for most common network cards
(there are 31 drivers available and newer cards like nVidia nForce
ones support PXE booting :)

I've more or less got it happening with Debian's sarge installer,
KNOPPIX (mounting over NFS) and a memory tester!  I don't have time
to experiment will all the other distributions though, hence my call
for help. :)

<ramble>
It's actually been really fun getting it going - the original idea
was to compile all the network drivers into GRUB and hope that one
of them will work if the network card is supported. The problem that
immediately surfaced with this method is that some drivers did not
play nicely if they didn't exist - the probing would hang the
machine.

So what I intended to do instead was to compile grub for each
individual driver separately, and put a menu up to choose which
driver to use.  The next problem was that this required grub to be
able to load itself, which it can't do as is, and isn't
supported[1].  With a little modification of the code in grub, I
added another command similar to chainloader but called chainstage2.
This allows you to load a different stage2 which has the relevant
drivers compiled in.

It actually makes quite a versatile setup when it's all pulled
together. The floppy disk image that people boot off is completely
generic - all it has is drivers that DHCP. Any changes to what can
be installed is all done on the TFTP server. If anybody's interested
in the patch to GRUB and the fine details, I'll put them up on a
webpage soon.

Bernard.

[1] http://mail.gnu.org/archive/html/bug-grub/2001-06/msg00135.html



More information about the plug mailing list