:: Documentation
PXE server setup
Some hints to setup a PXE server to be used with
Slack-Kickstart.
Required software:
- DHCP server ( Slackware-10.1: dhcp-3.0.1-i486-1 )
- TFTP server ( Slackware-10.1: inetd-1.79s-i486-7 )
- syslinux ( Slackware-10.1: syslinux-2.13-i486-1 )
DHCPD Configuration:
/etc/dhcpd.conf
allow booting;
allow bootp;
# Standard configuration directives...
option domain-name "foo.net";
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option domain-name-servers 195.130.224.18;
option routers 192.168.1.30;
ddns-update-style none;
allow unknown-clients;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.20;
next-server 192.168.1.22; <------- TFTP SERVER IP ADDRESS
filename "/tftpboot/pxelinux.0";
}
TFTP Server configuration:
/etc/inetd.conf
# Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
tftp dgram udp wait root /usr/sbin/tcpd in.tftpd -c /tftpboot
Tftp directory tree
[dave@nightmare ~]$ls /tftpboot
bzImage pxelinux.0 pxelinux.cfg test.rootdisk.gz
- bzImage is the linux kernel booted from pxe client
- pxelinux.0 is the pxe loader (see dhcpd config file)
- sample.gz is the initrd image created with MakeInitrd.sh
- pxelinux.cfg is a directory, which contains per-host config files: default
is loaded if no specific HW address matches.
default pxe config file
[dave@nightmare ~]$cat /tftpboot/pxelinux.cfg/default
default Kickstart
prompt 0
label Kickstart
kernel bzImage
append initrd=sample.gz devfs=nomount load_ramdisk=1 prompt_ramdisk=0
ramdisk_size=16384 rw root=/dev/ram
This is like a syslinux config file: loads the kernel 'bzImage'
then sample.gz as initrd (root image).
The root image is created, as usual, by MakeInitrd.sh.
PXELINUX info:
You can find (Slackware 10.1) pxelinux.0 (the pxe loader) on
/usr/share/syslinux/pxelinux.0
Hope that helps!!