Introduction
------------
Up until Slackware 11.0, one could start an NFS install via floppy quite
easily. All that was needed was a machine to be the NFS server (obvious)
& a handful of floppy disks (bootdisks/* for kernels, rootdisks/* for
the installer & supplementary files [install.1, install.2, network.dsk,
& pcmcia.dsk, respectively]) to boot the client.
Unfortunately, only 2.4 series kernels have any reasonable chance of
fitting on floppy. So what to do if your hardware was only recognized by
2.6 series kernels & you wanted to start the install via floppy? Worse
yet, to some; Slackware 12.0 uses 2.6 series kernels only, so there's no
chance at all of fitting a kernel on a floppy. Conundrum!
Until now.
Since the kernel, installer, & supplementary files won't fit on floppy,
they have to get loaded onto the client some other way. Eric Hameleers
came up with the perfect solution: boot the client via PXE, acquire an
IP via DHCP, load everything required to start the installer itself via
TFTP, perform an NFS install as one would normally do, enjoy.
Quite by accident (read: I wasn't paying attention), I duplicated much
of his work a few months later & took a slightly different approach to
one aspect. None of the network cards in my possession have boot ROMs,
nor do any of my machines have BIOS support for network booting.
Being hellbent on finding a solution to a floppy-initiated install, I
eventually discovered Etherboot. With this, all that was required of a
given client machine was a functional floppy drive, ONE floppy disk, &
BIOS support for floppy boot. Pretty straightforward.
With the exception of how to use the Etherboot disk images themselves,
virtually everything you need to know has been covered in Eric Hameleers'
excellent usb-and-pxe-installers/README_PXE.TXT writeup.
Floppy Creation
---------------
Decide which disk image is appropriate for your needs. For ISA & PCI
network cards, use etherboot.img. For ISA, PCI, & PCMCIA cards, use
etherboot_pcmcia.img. Please note that PCMCIA support is still in the
development stage upstream & hasn't been thoroughly tested. If you're
not sure which one to use, select etherboot.img.
If you're in DOS or Windows, use the appropriate version of the RAWRITE
command to create a floppy disk. There are several versions provided to
handle most versions of DOS & Windows. If one version doesn't seem to
work, try another.
For example, to create a disk from etherboot.img, put a formatted 1.44MB
floppy in your floppy drive & run this command:
C:\> RAWRITE ETHERBOOT.IMG A:
If you're in Linux, use the "cat" command to send the image directly to
the floppy device.
For example, to create a disk from etherboot.img, put a formatted 1.44MB
floppy in your floppy drive & run this command:
$ cat etherboot.img > /dev/fd0
DHCP/TFTP/NFS Setup
-------------------
Please refer to usb-and-pxe-installers/README_PXE.TXT for extensive
hints & tips. Eric did such a good job of his writeup that I see no
point in duplicating large portions of it here.
Sample Scripts & Configs
------------------------
Included in this directory are sample "simple" configs & startup scripts
for most of the services required.
As well, there are 2 scripts included that can be used to create &
populate a template /tftpboot/ hierarchy.
If your TFTP server is separate machine than that of your NFS server,
you can create a template /tftpboot/ hierarchy (on the NFS server) using
"populate_tftpboot.sh", then copy that hierarchy to your TFTP server
using your favoured method.
If your TFTP & NFS servers are the same machine, you can create a
template /tftpboot/ hierarchy using "populate_tftpboot_symlinks.sh".
For example, to create a template /tftpboot/ hierarchy from the files
located in /pub/mirrors/slackware/slackware-12.0/, run this command:
$ populate_tftpboot.sh /pub/mirrors/slackware/slackware-12.0/
The template hierarchy will be created in /tmp/tftpboot/, so you don't
have to worry about overwriting an existing /tftpboot/.
Putting It All Together
-----------------------
This is simple enough it can be summed up in point form:
- Ensure your DHCP, TFTP, & NFS servers are up & running.
- Boot the client from the Etherboot floppy.
- Select an appropriate driver from which to boot. If you're unsure
which to choose, try several at random until one works.
- Once you see the "Welcome to Slackware" banner, you will be running
the installer itself. Carry on with a normal NFS install.
Author:
Erik Jan Tromp 2007-jun-26