[[PageOutline]] = PXE-utilities = This is a release of the SARA 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 [http://syslinux.zytor.com/pxe.php pxelinux], which is a derivative of [http://syslinux.zytor.com/ 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 ([http://www.memtest86.com/ memtest86] or [http://www.memtest.org/ Memtest86+]) . * To instruct a node to flash its bios firmware or other firmware via the pxe dos boot method ([http://syslinux.zytor.com/memdisk.php memdisk]) * Installation of a node with the aid of [http://subtrac.sara.nl/oss/sali sali] software == Setup example == [http://www.sara.nl SARA] uses the following setup for: * [http://www.systemimager.org Systemimager] * [http://subtrac.sara.nl/oss/sali 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 SARA we have developed the following strategy to install a fresh node: 1. 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) }}} 1. 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. 1. 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 [http://syslinux.zytor.com/menu.php 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 [source:trunk/pxemenu/pxelinux.cfg/default.menu 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: * [wiki:PxeInstallation Installation] * [wiki:PxeUsage Usage] * [source:trunk/Changelog Changelog development version] A useful link about how to use Systemimager and the pxeconfig tools is: * https://wiki.fysik.dtu.dk/niflheim/System_administration How to install and use the '''PXE menu''' tools: * Installation: Please see the file [source:trunk/INSTALL-pxemenu INSTALL-pxemenu] * Usage: Please see the file [source:trunk/README-pxemenu README-pxemenu] A more detailed discussion of the PXE menu tools is currently in: * https://wiki.fysik.dtu.dk/niflheim/PXE-booting == How to use the trac system == The system is configured for the following tasks: * Submit problems via [report:1 ticket system] or via email to [mailto:pxeconfig@sara.nl pxeconfig emailing list] * Can checkout the sources via subversion: * svn co https://oss.trac.sara.nl/pxeconfig/svn/tags, for the ''stable'' sources * svn co https://oss.trac.sara.nl/pxeconfig/svn/trunk for the latest source * Browse the [source: sources] * Everybody can add or change documentation.