MultiNetBoot
Net boot chosing between multiple systems
Nowadays, many systems (Kubuntu, SuSE, Fedora, ...) allow network booting or installing. In order to do this, you usually need to copy a subfolder from the installation CD to your tftp server, and set this as your root.
However, until syslinux 3.72 and its =pxechain.com= module, it was not easily possible to set up a boot menu allowing to chose among one of many systems.
With pxechain.com
, it has all become very simple, as described below
Preparation
- Download syslinux-3.72 (or later) from http://www.kernel.org/pub/linux/utils/boot/syslinux/
- Compile it
- Copy
modules/pxechain.com
,com32/menu/menu.c32
andcore/pxelinux.0
to your tftproot (usually/var/lib/tftpboot
)
Setting up the various systems you want to chose among
Copy the boot environments of the systems that you want to chose amongst as subdirectories of your tftp root : /var/lib/tftpboot/udpcast
, /var/lib/tftpboot/kubuntu
, ...
Making index file
Set up the root level's PXElinux configuration file to be an index. Create the /var/lib/tftpbot/pxelinux.cfg
directory, and store the following in /var/lib/tftpboot/pxelinux.cfg/default
:
default menu.c32
prompt 0
menu title Hitchhiker PXE boot menu
LABEL udpcast
menu label Udpcast
kernel pxechain.com
append ::udpcast/pxelinux.0
LABEL KubuntuNet
menu Kubuntu network install
kernel pxechain.com
append ::KubuntuNet/pxelinux.0
For each system you've got one paragraph, starting with a LABEL line (to give it a unique name), followed by a menu line (to set the name displayed in the menu).
The kernel pxechain.com
line tells pxelinux to chain another pxe boot loader (the one present in the system's image). The last line (append
...) points towards the boot loader of the system to be loaded.