I needed to install RedHat on a client device that currently had Windows XP installed on CF media. The board in the device had no floppy or hard disk headers, and the BIOS did not support booting from a USB floppy or CD-ROM drive. This particular board, as with many recent PC and embedded motherboards, supports the Preboot eXecution Environment (PXE) which allowed me to boot and install RedHat 9.0 on the device over the network. The following is a quick outline of how I set up my RedHat 7.3 workstation as the boot server.
[root]$ rpm -ivh dhcp-2.0pl5-8.i386.rpm
# /etc/dhcpd.conf
#
# 'subnet' should be defined as a route
# 'hardware ethernet' is the MAC address of the client
# 'fixed-address' is the IP you want to assign to the client
# 'filename' is the location of the pxelinux executable on the TFTP server
#
subnet 10.0.0.0 netmask 255.0.0.0 {
default-lease-time 600;
max-lease-time 7200;
host client12 {
hardware ethernet 00:00:00:00:00:00;
fixed-address 10.1.1.12;
option host-name "client12";
filename "X86PC/UNDI/linux-install/pxelinux.0";
}
}
[root]$ /usr/sbin/dhcpd
[root]$ rpm -ivh tftp-server-0.28-2.i386.rpm
/tftpboot /tftpboot/X86PC /tftpboot/X86PC/UNDI
/tftpboot/X86PC/UNDI/linux-install
[root]$ /usr/sbin/in.tftpd -l -v -s /tftpboot -l runs it in standalone mode -v toggles verbose output to /var/log/messages -s [directory] sets the root directory
/tftpboot/X86PC/UNDI/linux-install/pxelinux.cfg
default linux label linux kernel vmlinuz append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network
/tftpboot/X86PC/UNDI/linux-install/initrd.img /tftpboot/X86PC/UNDI/linux-install/vmlinuz