NOTE: WE are moving the project to:
NOTE: END:
PXE-utilities
This is a release of the SURFsara package of utilities that we use to boot our nodes with PXE-enabled network cards. This was developed because we always want to use the PXE-enabled network card as our first boot device. With pxelinux, which is a derivative of syslinux, you can specify with a PXE configuration file how the node must boot. This configuration is placed in, e.g. /tftpboot/pxelinux.cfg directory.
We use this utility for the following purposes:
- To instruct a node to do a memory test (memtest86 or Memtest86+) .
- To instruct a node to flash its bios firmware or other firmware via the pxe dos boot method (memdisk)
- Installation of a node with the aid of sali software
Setup example
SURFsara uses the following setup for:
- Systemimager
- Sali is a systemimager fork/rewrite
We have a default setup. The default setup is to boot from hard disk. When a node boots it fetches the default configuration file and the configuration file instructs the node to boot from the hard-disk. At SURFsara we have developed the following strategy to install a fresh node:
- The ip-address in our setup is known for the new node. So we make a link in the /tftpboot/pxelinux.cfg directory to a pxe configuration file which instructs that it has to fetch the kernel and root filesystem from our boot server, eg: 0A000A02 ---> default.node_install (10.0.10.2)
- The client starts and uses the systemimager/sali software to install the node. The installation script connects to a daemon on the boot server. This daemon will remove the PXE config file/link for this node.
- The node reboots and uses the default pxe configuration file. Which will instruct the node to boot from hard-disk.
Utilities
This release contains the following utilities (All utilities are written in Python):
- pxeconfigd
- This is daemon that removes the pxe configuration file of a node.
- pxeconfig
- With this program we can specify which pxe configuration file a node or nodes must use. This utility will create the links in /tftpboot/pxelinux.cfg
- hexls
- Is a utility that diplays a directory, and, if in this directory contains HEX files, it will convert them to IP-numbers and hostnames.
PXE menu tools
Also included in this package are the PXE-menu tools which are used to control the booting of networked computers directly from the computer's console at the BIOS level before any operating system has been loaded. You get an on-screen hierarchical menu system which you navigate with the keyboard, and this allows you to select dynamically the tool or disk image to be booted. The PXE menus are based on the SYSLINUX menu systems.
The PXE menus are extremely useful for diagnostic purposes, for firmware upgrades, or for selecting an operating system installation method, of an individual computer while you work at its console (for remote management of multiple computers you probably want to use the pxeconfig tool in stead).
For Linux cluster node booting it is recommended to let the PXE menus default.menu be the default PXE boot method: With the example configuration the computer console will display the PXE menus for 5 seconds, allowing manual intervention if desired. After the 5 second timeout the computer will boot automatically from the hard disk.
Documentation
How to install and make use of the pxeconfig package:
A useful link about how to use Systemimager and the pxeconfig tools is:
How to install and use the PXE menu tools:
- Installation: Please see the file INSTALL-pxemenu
- Usage: Please see the file README-pxemenu
A more detailed discussion of the PXE menu tools is currently in:
sources
- git clone https://gitlab.com/surfsara/pxeconfig
- fill issue in: https://gitlab.com/basvandervlies/pxeconfig/-/issues