See also LinuxInstallationNotes
Today I tried to install Debian Woody on a machine with no CD-ROM drive and a broken floppy. Rather than steal a drive from another machine, I thought it would be a piece of cake to use the TFTP method. Boy was I wrong. :( I got it to work in the end though, and it works very nicely.
(Although I did this with Debian, it should work just as well with any of the LinuxDistributions)
A Server
A Linux box on the network running the following services:
A Client
Software
Setup tftp server:
Add the tftpboot files:
Setup dhcp server:
For some reason I couldn't get my box to boot the tftpboot.img. The image I was using was just over 650K and my PXE BootROM complained that it couldn't fit into memory. BpBatch? is an extremely powerful boot loader which is able to load the kernel and root image into extended memory.
This example doesn't even begin to show off some of the features of BpBatch?. It can also partition and wipe drives on the fly and download and install full hard disk images. Combined with its GUI menu and password authentication support, it can be used to make multi-OS kiosk or network terminals. If you want to read more about using BpBatch? in this context, read the Linux Remote-Boot mini-HOWTO: Configuring Remote-Boot Workstations with Linux, DOS, Windows 95/98 and Windows NT
PXELinux, a SysLinux based bootloader for PXE, also works very well here. Simply grab the tftpboot.img and the root.bin you wish to install from and add a PXELinux config fragment like the one below, and it all works fine and dandy
label bf24
kernel tftpboot.img append console=null initrd=root.bin root=/dev/ram flavor=bf2.4
Note: the flavor setting is important if you are using one of the debian woody flavours, as otherwise it will try to get the wrong drivers packages from the mirror
This probably means your boot kernel doesn't have drivers for your network card compiled in. The PXE rom can happily download your kernel and initrd, but once it gives control over to the kernel, the kernel needs to know about your network card. For example, the bf2.4 boot flavour for debian woody only has a limited set of drivers - ne2k-pci, realtek 8139 and 8029, and a handful of others. It doesn't have any 3com or intel drivers, for example, compiled in.
Solution? Use another boot flavour - the compact boot flavour has a wider range of drivers compiled in, so probably has the driver for your NIC. Remember -- this is only your boot kernel. You can install whichever other kernel you like.
Or else you can build your own boot kernel for this. The instructions in the debian installation guide on Replacing the Rescue Kernel should help you here.
No other page links to TFTPInstall yet.