PXE Installation of Mandr{ake,iva} Linux

This page describes how to setup PXE-based unattended installation of Mandrakelinux Corporate Server 3.0, however the same principals can be used to configure any version of Mandrakelinux or Mandriva Linux for PXE installation.

Prerequisites

To setup a PXE installation server, you will need a Linux server with the following.

  • dhcp-server
  • tftp-server
  • pure-ftpd-anonymous
  • syslinux
  • A copy of the installation media for Mandrakelinux Corporate Server 3.0 (2 CD's)

DHCP Server Configuration

/etc/dhcpd.conf should contain a minimum of the following:


	ddns-update-style none;
	subnet 192.168.1.0 netmask 255.255.255.0
	{
	        option routers 192.168.1.254;
	        option subnet-mask 255.255.255.0;
	        option domain-name "example.com";

		range dynamic-bootp 192.168.1.1 192.168.1.20;
	        default-lease-time 21600;
	        max-lease-time 43200;
	
		filename "pxelinux.0";
	}

Any IP Addresses here should reflect the IP subnet required (192.168.1.0/24 in this case).

The dhcpd service should be set to start on boot (the default).

TFTP Server configuration

The default location for the tftp server root is /var/lib/tftpboot.

Under the tftproot directory, you will need the following files:


	./cs3
	./cs3/all.rdz
	./cs3/vmlinuz
	./help.msg
	./pxelinux.0
	./pxelinux.cfg
	./pxelinux.cfg/default

pxelinux.0

This file should be copied from the one provided by the syslinux rpm; /usr/lib/syslinux/pxelinux.0

pxelinux.cfg/default

This file should contain the following:


	default cs3
	display help.msg
	prompt 1
	timeout 100
	label cs3
		kernel cs3/vmlinuz acpi=ht vga=normal splash=silent
		append initrd=cs3/all.rdz ramdisk_size=128000 automatic=method:ftp,ser:192.168.1.253,dir:/cs3/,network:dhcp,interface:eth0,hostname:cs3 auto_install=../conf/cs3-base.pl

It is important to note that the "append" line is all one line.

The "ser:192.168.1.253" variable should be changed to the IP Address of the server providing the FTP installation tree.

The "dir:/cs3/" should be the directory that contains the FTP installation tree, relative to the FTP server root.

Similarly, "auto_install=" should point to an auto_install.cfg.pl script (relative to the installation tree directory) containing the auto installation details.

cs3/all.rdz

cs3/vmlinuz

Both of these files should be copied from the installation media, CD #1. They can both be found in the isolinux/alt0 directory on CD #1.

help.msg

This file contains a text-based welcome screen that is displayed when the system being installed successfully starts the PXE installation process. Unfortunately, it contains a number of non-printing control characters in order to facilitate coloured text and therefore can not be included here. A version of the help.msg found in the isolinux directory on CD #1 can be used as a basis for this.

auto_install.cfg.pl

If you don't want to do an automatic unattended installation, then you don't need this setting.

Once an installation is complete, this file can be found in /root/drakx. Once copied to the FTP server, it can then be used to create clones of this configuration. Certain parts of the file can be modified to customise the installation.

"default_packages" can have additional packages added to it for example. "urpmi_rpm-find-leaves" can used on an installed system to determine the minimum set of packages needed to achieve the current installation.

FTP Server Configuration

By default, the FTP server packages on Mandr{ake,iva} use /var/lib/ftp as their FTP root.

Copy the contents of the installation media into the FTP root, preferably a subdirectory, and make sure it is all readable by the 'ftp' user. Make sure that the "dir:/cs3/" in the pxelinux.cfg/default file above is pointing at it, then start the FTP server


	# service pure-ftpd restart

Finishing

Once everything is configured, you now need to start all of the services.


	# service xinetd restart
	# service dhcpd start

You should be able to perform a PXE boot through your computers BIOS (F12 on modern Dell's for example) and be presented with a boot prompt similar to the lilo one.

Just type in the label you used in pxelinux.cfg/default and you should be presented with the associated installer :)





Updated: 26 October 2005. Copyright © Mark Watts 2003-2005

Valid XHTML 1.1! Valid CSS!

Creative Commons License

This work is licensed under a Creative Commons License.