NAME

pxeserver - The LCFG pxeserver component

DESCRIPTION

This is an LCFG component to manage the configuration of a PXE server.

PXELINUX is a SYSLINUX derivative, for booting Linux off a network server, using a network ROM conforming to the Intel PXE (Pre-Execution Environment) specification. PXELINUX is not a program that is intended to be flashed or burned into a PROM on the network card.

For full details on syslinux see http://syslinux.zytor.com/

RESOURCES

modules

This is a list of syslinux modules which should be linked into the tftp server directory (pxeserver.tftpdir) so that they can be used in the PXE configurations. The default set of modules is "reboot", "menu" and "vesamenu". Note that you need to specify the module names without any ".c32" file ending.

title

This is a string which will be displayed as a title on the PXE boot screen. There is no default value.

default_label

This is the PXE boot option which will be selected by default if there are no entry-specific override. You probably want this to be something generic like "reboot" or "localboot", the default value is "localboot". Note that the localboot option (i.e. from the current MBR) does not always work due to BIOS issues.

timeout

This is the PXE timeout which will be used if there is no entry-specific override. This is an integer which is in units of tenths of a second, the default is 100 which is 10 seconds. A timeout of zero will disable the timeout completely.

prompt

This is a boolean value which controls whether or not to present a prompt to the user, the default value is true. This value is used if there is no entry-specific override. Note that this option has no effect for configurations which do NOT have a serial console. They use a "fancy" menu style which conflicts with this option.

allowoptions

This is a boolean value which controls whether the user can modify boot options on the command line. This value is used if there is no entry-specific override. The default value is true (i.e. a user can edit the boot options).

noescape

This is a boolean value which controls whether to ignore the PXE Shift/Alt/Caps Lock/Scroll Lock escapes. Using this makes it possible to enforce booting from the default option. This value is used if there is no entry-specific override. The default value is false (i.e. allow the various escapes).

console

This is a boolean value which controls whether or not to send output to the normal video console. Some BIOSes try to forward this to the serial console and sometimes make a total mess thereof, so this option lets you disable the video console on these systems. This value is used if there is no entry-specific override. The default value is true (i.e. send output to the video console).

tftpdir

This is the location of the base directory for the tftp server. The default value is /tftpdir, this should not normally need to be changed.

pxelinux_path

This is the path to the pxelinux binary on the pxe server. A symlink will be created to it with the name pxelinux, inside the pxeserver.tftpdir directory.

On Redhat and Fedora systems you will probably need to install the syslinux package. The default path to the pxelinux binary is /usr/share/syslinux/pxelinux.0. Note that this is for a recent version of the syslinux package, older versions provided with Fedora and RHEL systems put the binary into /usr/lib/syslinux.

module_path

This is the directory into which the pxelinux modules have been installed. The default is /usr/share/syslinux, note that for the older version of syslinux provided with Fedora and RHEL systems that needs to be /usr/lib/syslinux

labels

This is the list of PXE boot options which are available. You do not need to add "reboot" and "localboot" to this list as they are added as part of the standard templates used to create the configuration files.

Note that the inclusion of a particular platform in this list does not mean it will automatically appear in every configuration file. For a platform to appear in a configuration file it must appear in the relevant pxeserver.platforms_entry resource (see below for details).

title_label

This is a short title which will be displayed for the boot option, if this is not specified the label will be used instead. Normally you do not need to set this, it is mainly for when you want the title to include a character which is not valid in an LCFG tag-list identifier.

descr_label

This is a string which describes the boot option.

kernel_label

This is the kernel image to be used for this boot option.

initrd_label

This is the initrd to be used for this boot option.

options_label

This is a list of extra options which should be passed into the kernel at boot-time for this boot option.

entries

This is an LCFG tag-list of entries for which PXE configuration files should be generated. The list can be populated directly by adding new entries to the list and also through the LCFG pxeclient component. Any profile using the pxeclient component will have the relevant information automatically inserted into this list via an LCFG spanning map. A typical scenario has entries for whole subnets specified directly via the pxeserver.entries resource and entries for individual hosts created via pxeclient spanning map.

idtag_entry

This is the identifier which will be used for the name of the PXE configuration file. The filename can be based on either the MAC address for the network card or the IP address. PXE supports the option of a single file being used for a whole subnet so this IP address can be something like 192.168, 192.168.1 or 192.168.1.2

hostname_entry

This is a string containing the name of the host, it is not required for the PXE configuration. It is mainly available in case you want to use it in a template so that a boot-screen shows the hostname.

platforms_entry

This is a list of the platforms which you want to be made available in the PXE boot menu for this machine. Typically you want to set this to the value in the sysinfo.os_id% resource. Any strings in this resource which are not present in the pxeserver.labels resource will be ignored, a warning will appear in the pxeserver component logfile.

serial_port_entry

If you want the kernel to have a serial console you must specify the port (e.g. ttyS0). Turning on serial console support has a couple of implications, you will get two entries for each platform (one with a serial console and one without), you will also not get a "fancy" menu style as that does not work well over a serial console.

serial_rate_entry

This allows you to control the baud-rate of the serial console. The default value is 9660 which is safe but rather slow.

timeout_entry

This overrides the value in the standard timeout resource, see the details above for full information.

prompt_entry

This overrides the value in the standard prompt resource, see the details above for full information.

allowoptions_entry

This overrides the value in the standard allowoptions resource, see the details above for full information.

default_label_entry

This overrides the value in the standard default_label resource, see the details above for full information.

console_entry

This overrides the value in the standard console resource, see the details above for full information.

noescape_entry

This overrides the value in the standard noescape resource, see the details above for full information.

pxemap

By default there is only one pxe spanning map to which all clients publish and servers subscribe. It is possible to have multiple maps, with each being for a different subnet, for example, which on a large network might be much more efficient. The default for this resource is pxe/all.

DEPENDENCIES

This module uses LCFG::Component and LCFG::Template.

SEE ALSO

lcfg-pxeclient(8)

PLATFORMS

This is the list of platforms on which we have tested this software. We expect this software to work on any Unix-like platform.

ScientificLinux5

AUTHOR

Stephen Quinney <squinney@inf.ed.ac.uk>

LICENSE AND COPYRIGHT

Copyright (C) 2008 University of Edinburgh. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the terms of the GPL, version 2 or later.