tftpboot layout for PXE


If one examines the PXE server configuration file one notes:

# what services to provide, priority in ordering
# CSA = Client System Architecture
# service=,,,,
service=X86PC,0,0,pxelinux,Linux install

# tftpd base dir
tftpdbase=/tftpboot

These lines instruct a PXE booting system to look the base directory /tftpboot on a LAN-local pxe/tftp server. Once there, it looks for the X86PC service, and under that the pxelinux directory.

Here are the contents of this directory on our server:

rgb@ipserv|T:107>dir /tftpboot/X86PC/pxelinux/
7.3/ 8.0/ beta/ dos/ memdisk* msgs/ newinit/ pxelinux.0 pxelinux.cfg/

There are three "important" kinds of directories here: 7.3, 8.0, beta, dos, and newinit all contain "things to boot" -- e.g. vmlinuz and initrd.img for a linux boot or install, bios flash images (loaded with the "memdisk" loader) in dos. msgs contains messages that you wish to display (possibly containing instructions for selecting a boot/install image, for example) during the boot process. Lastly, pxelinux.cfg/default contains the actual boot instructions for various boot possibilities so pxe do the right thing when they are invoked by name.

For example, to boot into a beowulf install, one might use:

label beowulf-install-7.3
   kernel 7.3/vmlinuz
   append initrd=7.3/initrd.img ks=http://wanserver.mydomain.edu/ks/beowulf.ks lang= devfs=nomount ramdisk_size=8192

which tells it which kernel image to boot (obtained from the institutional-level installation server), along with a line containing the kernel arguments which tell it which initrd to use, where to find a kickstart file such as beowulf.ks file (which might equally well point to an automated kickstart-selecting cgi script). Finally there are some arguments for a standard ramdisk install.


This page was written and is maintained by Robert G. Brown rgb@phy.duke.edu