Docs/Drafts/NetworkInstall

Documentation Summary: How to make a boot/network install server

Purpose: Ease deployment of Fedora Core in enterprise environments or install fests

Audience: IT, Ambassadors

Assumptions: The user understands at least basic network and TCP/IP configuration concepts.

Related Documents:

Lead Writer: NicolasCorrarello

Making a Network Install Server
Having a PXE network install server available on a network can help alleviate new installation workload on large and small networks by automating tasks that otherwise can require a fair amount of user input.

Fedora Core 6 includes a graphical utility (system-config-netboot) which helps ease initial configuration.

For this tutorial, the install network is 172.0.0.0/24, the server IP adress is 172.0.0.5, the gateway and the name (dns) server are 172.0.0.1.

Requirements
Some additional software packages (TFTP, DHCP, xinetd) are required, use  to install them.

yum install system-config-netboot dhcp tftp xinetd

Network
The server needs a static IP address (172.0.0.5). Edit the file  to look like this:

TYPE=Ethernet DEVICE=eth0 ONBOOT=yes BOOTPROTO=static BROADCAST=172.0.0.255 IPADDR=172.0.0.5 NETMASK=255.255.255.0 NETWORK=172.0.0.0

DHCP Server
Edit  to look like this:

ddns-update-style none; ignore client-updates;

subnet 172.0.0.0 netmask 255.255.255.0 {

option routers                 172.0.0.1; option subnet-mask             255.255.255.0;

option domain-name             "pxe-server.local.localdomain.net"; option domain-name-servers     172.0.0.1;

option ntp-servers             172.0.0.2;

range dynamic-bootp 172.0.0.50 172.16.0.100; default-lease-time 21600; max-lease-time 43200; }

allow booting; allow bootp; class "pxeclients" { match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 172.0.0.5; filename "linux-install/pxelinux.0"; }

If different network parameters or additional configuration options are being used, replace the options shown here with the appropriate values.

Start the DHCP service:

service dhcpd start

NFS
Download the FC6 DVD ISO file, the SHA1SUM file, and the directory images  and put it in an NFS export.

To get the directory from the ISO file, mount the image as a loopback file system:

mount -o loop -t iso9660 /path/to/FC-6-i386-DVD.iso /media/loop mkdir /mnt/export/FC6/images cp -r /media/loop/images/pxeboot /mnt/export/FC6/images/

In this example, the path to the FC6 ISO file is.

The result is a directory tree like this:

tree /mnt


 * -- export
 * |-- FC6
 * |  |-- FC-6-i386-DVD.iso
 * |  |-- SHA1SUM
 * |  |-- images
 * |  |     needs a new entry about the export directory:

cat <> /etc/exports /mnt/export            172.0.0.0/24(ro) END_ENTRY

Now the file should look like this:

cat /etc/exports /mnt/export            172.0.0.0/24(ro)

Start the NFS service:

service nfs start

Netboot
Now start the  utility. Using the graphical utility, start via System > Administration > Server Configuration > Network Boot Service. Then select Network Install:



Check the default paths and IP address, they will differ based on what IP settings were used in the above configuration files.




 * 1) Operating system identifier -- The name, for example FC6
 * 2) Description: -- A more detailed description of the installation source
 * 3) Select protocol for installation: -- Choose NFS for this tutorial
 * 4) Kickstart: -- Point to a kickstart file. You can make a kickstart file with   to automate the installation process.
 * 5) Server IP Address: -- The IP address of your installation server --   for this tutorial
 * 6) Location: The path to your install software; this tutorial uses.

TFTP Server
Enable the TFTP server in :

chkconfig tftp on

Start the  service

service xinetd start

Installation
Plug the target system(s) in to the network, choosing the option Booting from a network or Booting from onboard NIC. After the system has received an IP address, the boot process starts over PXE and a screen of choices appears:


 * Boot from local harddisk
 * Launch installation

This installs a system with Fedora Core 6 in usually less than a half-hour, but will vary based on system specifications and install options.

Monitoring
On the server you can control the work.

tail -f /var/log/messages

The output looks similar to this:

Mar 17 17:58:00 pxe-server xinetd[28877] : xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in. Mar 17 17:58:00 pxe-server xinetd[28877] : Started working: 0 available services Mar 17 17:58:32 pxe-server dhcpd: DHCPDISCOVER from 55:44:33:22:11:00 via eth0 Mar 17 17:58:33 pxe-server dhcpd: DHCPOFFER on 172.0.0.99 to 00:11:22:33:44:55 via eth0 Mar 17 17:58:36 pxe-server dhcpd: DHCPREQUEST for 172.0.0.99 (172.0.0.5) from 00:11:22:33:44:55 via eth0 Mar 17 17:58:36 pxe-server dhcpd: DHCPACK on 172.0.0.99 to 55:44:33:22:11:00 via eth0 Mar 17 17:58:36 pxe-server in.tftpd[28881] : tftp: client does not accept options