Overview of the installation process

Abstract

This section gives an overview of the method we will use to boot and install client servers.

Swift reinstallation of a developer workstation can be done using standard tools like RedHat Kickstart, PXElinux[4], DHCP and NFS daemons. A more detailed description of these components is provided in the section called “The toolsets”. To (re)install a developer workstation these components work together as follows:

  1. each developer workstation (DWS) consists of a well-defined set of hardware[5]. Part of that hardware is a PXE enable network interface card (NIC);

  2. when a developer workstation is booted, its PXE bootrom will issue a bootp request for an IP addres;

  3. this implies an accessible bootp server somewhere in our network. We will use a DHCP server which will be configured to honour network booting requests. Its configuration file will be configured to contain the IP address for the booting developer workstation (related to its MAC address) and the name of a bootfile to be loaded;

  4. when the developer workstation's PXE software has retrieved its IP address from the DHCP server it will then issue a tftp request to the very same server and obtain the aforementioned bootfile. This bootfile is an incarnation of the PXELINUX bootloader.

  5. PXELINUX is loaded by the DWS and subsequently executed. It will retrieve a configuration file from the bootserver. The name of that configuration file is deduced from the DWS's IP address.

  6. Either the PXE configuration file will contain instructions to boot from local disk, or it will contain instructions to load a Linux installation kernel. That kernel needs to know where to find the Linux network drivers it needs and it needs to be told the location of the installation server. These parameters are also specified in the PXE configuration file. We assume a new installation, in which case the Linux installation kernel is loaded into the DWS by PXELINUX. Also, the ramdisk that contains the proper drivers is loaded and PXELINUX will transfer control to the Linux kernel.

  7. The Linux kernel will perform a NFS mount to an installation server and obtain a definition of the installation it should perform: a so-called Kickstart configuration file. Such a file contains information about (amongst others) the partitioning of the disks, the network configuration, firewalling and a list of all (groups of) packages to be installed. These packages also need to be accessible via the NFS server. The server should therefore allow read-only access to the installation tree - which is a cumulation of all packages that make up an installation[6].

  8. The Kickstart file is loaded by the Linux kernel and subsequently the installation is started and completed.

  9. After completion of the installation notification is send to the bootserver, who will reconfigure itself and will replace the PXELINUX file with the default version. That default version will instruct the client to boot from local disk. Otherwise when the freshly installed DWS reboots it will keep installing itself over and over again.

  10. The DWS will reboot and the cycle will repeat itself - but now the bootserver will contain a bootfile which instructs PXELINUX from local disk.



[4] PXE is an acronym for Pre eXecution Environment

[5] that definition is l part of the information stored in the DSL

[6] it too should be part of the SL