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.

LTSPMultibootScreenShot.png


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".

UbuntuLTSP/LTSPMultiboot (last edited 2010-12-12 14:24:43 by gene-cumm)