Chapter 6. Available PXE Bootstraps

The TCP/IP PXE system gets its bootstrap filename from the dhcp and determines its root directory from this filename. See Chapter 4 for more details.

The Real PXE system gets its bootstrap from the pxe server depending on the client's architecture. See Chapter 3 for more details.

PXELinux is provided by Syslinux [7] and is called "pxelinux.0". Its main features are:

  • You can define a config file for each PXE Client IP address

  • The TFTP root directory is the one which contains pxelinux.0

  • PXEClient vendor-class-identifier request compilant.[8]

  • The Ability to boot a disk image (i.e floppy disk image)

As we've seen before, the PXE client downloads the bootstrap (pxelinux.0 in our case), execute it locally and the tries to download its configuration file CFGFILE.

KERNEL image APPEND options... IPAPPEND flag_val [PXELINUX only]

Indicates that if label is entered as the kernel to boot, SYSLINUX should instead boot image, and the specified APPEND and IPAPPEND options should be used instead of the ones specified in the global section of the file (before the first LABEL command.) The default for image is the same as label, and if no APPEND is given the default is to use the global entry (if any). Up to 128 LABEL entries are permitted. (for ISOLINUX, 64 LABEL entries.)

Note that LILO uses the syntax:

	image = mykernel
	label = mylabel
	append = "myoptions"
				

whereas SYSLINUX uses the syntax:

	label mylabel
	kernel mykernel
	append myoptions
				

Notes: Labels are mangled as if they were filenames, and must be unique after mangling. For example, two labels "v2.1.30" and "v2.1.31" will not be distinguishable under SYSLINUX, since both mangle to the same DOS filename.

PxeGrub must be compiled for your ethernet card because it can't be compiled for multiple architectures. The first solution is to download grub [11] 0.91 or later and compile it with --enable-eepro100 option if you're using an Intel Ethernet Express Pro 100 or get the package called pxe-1.2.0-sample in the Mandrake Linux distribution : it contains all the images that Grub can provide.

NbGrub is a bootstrap for Etherboot [12] that gives you the ability to execute Grub through the network.

The simplest way is to download a floppy boot image from the rom-o-matic website [13] and choose the 5.0.5 version at least. Choose your network card, set the REQUIRE_VCI_ETHERBOOT option, and choose Floppy Bootable ROM image.

Then make a

dd if=the_file_you_ve_download of=/dev/fd0

You can execute now it by booting this floppy disk.

Note : Etherboot version 5.0 and later needs an option vendor-class-identifier set to Etherboot-5.0 and a special vendor-encapsulated-options set to 3c:09:45:74:68:65:72:62:6f:6f:74:ff. See Chapter 3 for more details.

NBP is the PXE client designed by RedHat ™ available in the source rpm of pxe [14] NBP is also packaged in pxe-1.2.0 rpm from the Mandrake Linux distribution. NBP bootstrap is usually called linux.0 and stored in /tftpboot/X86PC/linux/. See Section 3.2 for details.



[8] i.e Etherboot is not compilant.

[9] Syslinux contains a program called "gethostip" that helps you build this name from the IP address.