This page is specific to Ubuntu versions (?)
If you find this information applicable to additional versions/releases, please edit this page and modify this header to reflect that. Please also include any necessary modifications for this information to apply to the additional versions.
This page describes the steps needed to setup PXE network booting as well as local disk booting
Using the below method instead of the PXE clients booting straight off the network, the user is displayed a message and is allowed to choose whether to boot from the network or from the local hard drive. In this way, establishments who already have machines setup with local disk booting, can utilise both systems without having to modify anything on the client HDD.
We need to first edit the pxelinux.cfg/default file to incorporate the choices for booting. On edubuntu 7.04 path /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default. The syntax is similar to lilo's configuration. More information can be found at Syslinux. First take a look at the configuration below and we will break it down line by line.
DEFAULT localboot TIMEOUT 50 PROMPT 1 DISPLAY display.msg LABEL linux KERNEL vmlinuz APPEND ro initrd=initrd.img quiet splash LABEL localboot LOCALBOOT 0
This overall configuration will present the user with a boot prompt. After 5 seconds, the default choice is made which is the localboot option. Users will have the choice to type in either localboot or linux, which will boot the respective operating system.
DEFAULT localboot TIMEOUT 50 PROMPT 1 DISPLAY display.msg
The DEFAULT keyword specifies which boot option will be chosen once the timeout runs out. The TIMEOUT option specifies how long to wait before booting the default option. This is measured in 1/10 of a second. Thus 50 = 5seconds. The PROMPT option specifies whether the PXE software displays the boot: prompt to enable users to choose an operating system. The DISPLAY option displays a text file on the screen as an introduction In this case, the file is called display.msg and must be in the root LTSP directory, alongside the pxelinux.0 file. An example of this file is proposed below.
============================================================================== Welcome to the Multiboot System (SGMS) The system will start in 5 seconds... for linux users type : linux at the boot: prompt and press <enter> ==============================================================================
This prompt will be displayed as soon as the computer begins to boot from the network.
LABEL linux KERNEL vmlinuz APPEND ro initrd=initrd.img quiet splash
The above 3 lines defines the 'linux' option for booting. This is defined by the KERNEL and APPEND options, which you will notice are extraced from the original default file. As shown below
DEFAULT vmlinuz ro initrd=initrd.img quiet splash
All that is needed now, is the option for booting from the local hard drive. As seen below
LABEL localboot LOCALBOOT 0
Thse lines define the 'localboot' option as used with the DEFAULT keyword earlier in the file. The only definition included in this option is the LOCALBOOT option, with a parameter of 0. This provides normal harddisk booting. Other parameters are available and these can be seen on the Syslinux page.
Upon rebooting of the client, the following changes should be seen and you will be presented with a screen similar to the following.
Created: 2006-04-21 by PeteSavage
Alternate generic config with menu
When using PXELINUX 3.74+, another directive, UI, is introduced. Use of the config below also requires that menu.c32 be placed in the same directory as pxelinux.0 and chain.c32 should also be placed in the same location.
UI menu.c32 DEFAULT linux TIMEOUT 50 PROMPT 1 DISPLAY display.msg LABEL linux KERNEL vmlinuz APPEND ro initrd=initrd.img quiet splash LABEL localboot0 LOCALBOOT 0 LABEL localboot-1 LOCALBOOT -1 LABEL chain-hd0 COM32 chain.c32 APPEND hd0
This menu presents a variety of alternate options. First, the menu: UI menu.c32 This presents a more user-friendly TUI (Text User Interface) rather than the CLI (Command Line Interface).
Second, using the DEFAULT directive pre-selects a certain option in menu.c32.
Next, there are multiple LOCALBOOT options as certain BIOS/PXE ROMs have issues with certain LOCALBOOT options. -1 is used to tell the BIOS that PXELINUX failed.
Last, there's a chainload option that loads the MBR of the first BIOS hard disk.
LABEL chain-hd0 COM32 chain.c32 APPEND hd0
This is present as some BIOSs refuse all LOCALBOOT options. "hd0" is equivalent to "hd0 0".