Abstract
We will set up a central server that will allow us to install Linux over the network. A detailed step by step description on how to create such a server and on how to install a new client with it can be found in Chapter 2. First we will provide an overview of the various toolsets we use.
Kickstart provides an automated method to install a (RedHat) Linux system. The definition of how a workstation should be installed is stored in a configuration file (i.e., ks.cfg) which is used by the Kickstart procedure to actually install the system. If the configuration file does not provide enough information to satisfy the installer, it will prompt the user. But a well thought out Kickstart configuration file defines everything the installer needs to know, so the user will never be prompted and the installation can be fully automated. The Kickstart configuration file contains parameters like partitioning information, available hardware, the installation method and a list of package groups. Such a package group consists of a list of packages, and each package in turn consists of a set of well-define files - the programs and configuration files of the Linux workstation.
To enable a Kickstart installation you either have to boot a special boot diskette, a special boot CD rom or employ a network boot method like PXE. The boot procedure will load a special installation kernel and start up the installer. The installer will load the Kickstart file and will install the node according to it. Kickstart files can be kept on a central server system, which would probably be part of our SL. The Kickstart files can be read by individual computers during the installation. This installation method can support the use of a single kickstart file to install Red Hat Linux on multiple machines, making it ideal for network and system administrators.
To install a node using Kickstart the following steps need to be taken:
create a kickstart file;
create a boot diskette or boot CD-ROM with the kickstart file or make the kickstart file available on the network.
make the installation tree available. The Installation Tree is just the set of all packages that make up an installation. It should be part of the SL too;
start the Kickstart installation by booting the diskette or CDROM and specifying the location of the installtree on the bootprompt.
Intel developed the PXE standard, which is used for booting a server over the network. PXE is short for "Pre-eXecution-Environment". Systems that are "PXE-enabled" contain a network card (NIC) with a special BIOS [2]. If such a system boots and the PXE ROM is enabled, the system will retrieve its IP address from a central server and will load a bootimage off that server and will execute it. Such a bootimage in turn may load a kernel or simply boot from local disk.
We choose to use PXELINUX as our bootloader. It is a compact SYSLINUX derivative whose behaviour can be configured on the central server. The source code is available under the GPL.
PXELINUX can be configured on a per host basis or for ranges of hosts, based on their IP addresses. The configuration files are stored on the bootserver. PXELINUX uses a simple but elegant algorithm to locate the proper configuration file, which is described The PXELINUX configuration file search algorithm.
You do not need a "PXE server" to enable booting over the network: PXE works fine with a tandem of DHCP and TFTP servers.
DHCP is a well known service that is used to dynamically issue IP addresses. It can also serve as a bootp server. To support PXE booting and to perform a network-based Kickstart installation, you must have a BOOTP/DHCP server on your network, and it must include configuration information for the machine on which you are attempting to install Linux. The BOOTP/DHCP server will provide the client with its networking information as well as the location of the Kickstart file.
To perform a Kickstart installation you need access to the the installation tree. The installation tree is just an accumulation of all packages available on the installation CD's that make up a Red Hat distribution and it is typically put on hard disk. To enable access to the installation tree via the network we can employ a number of protocols, e.g. ftp, http or nfs. We choose to employ nfs, Sun's Network File System, since it currently provides the fastest installation.