Assume the followings
1. Hostname : server.example.com
2. IPaddress : 192.200.1.222
3. DNS Configured (Not required for PXE boot, you can use ip address instead of hostname)
4. Path of YUM using -vg option with ftp server (i.e.baseurl=ftp://server.example.com/rhel5/ )
5. NFS server installed

6. Lan Card (NIC) PXE boot enabled Here are the packages to be installed:

  •      system-config-netboot
  •      tftp
  •      tftp-server
  •      dhcpd

Step 1:Configuration of the NFS server

Add the following line in /etc/exports:
[root@server ~]# echo "/var/ftp/rhel5 *(rw,sync)" >> /etc/exports 

Then run 
[root@server ~]# exportfs -va
exporting *:/var/ftp/rhel5

Then run
[root@server ~]# service nfs restart
Shutting down NFS mountd:                             [  OK  ]
Shutting down NFS daemon:                             [  OK  ]
Shutting down NFS services:                           [  OK  ]
Starting NFS services:                                [  OK  ]
Starting NFS daemon:                                  [  OK  ]
Starting NFS mountd:                                  [  OK  ]
root@server ~]# showmount -e server.example.com
Export list for server.example.com:
/var/ftp/rhel5 *

Step 2:Configuration of the tftp Server 

[root@server ~]# yum install tftp-server  tftp  alchemist  -y

Download the file system-config-netboot-0.1.41-1.FC6.noarch.rpm
http://cid-69d9b9d659f9c8cb.skydrive.live.com/browse.aspx/Public?authkey=ZHv7!TsBbGo%24

[root@server ~]#rpm -ivh system-config-netboot-0.1.41-1.FC6.noarch.rpm

Run system-config-netboot and configure a network installation:

[root@server ~]# system-config-netboot

Click on Network Installation and select the following entries

* Oprating system identifier: RHEL5
* Description: Red Hat Enterprise Linux 5
* Select protocol for installation: choose NFS
* Kickstart: if you have a kickstart file, put the path to it here, if not, leave empty
* Server IP address : 192.200.1.222* Location: /var/ftp/rhel5

Click OK. This creates a directory /tftpboot/linux-install/RHEL5 with files like initrd.img and vmlinuz downloaded from your nfsserver (/var/ftp/rhel5/images/pxeboot/).

Create a New PXE configuration file:

* Hostname of IP Address/subnet: 192.200.1.222

* Operating system: RHEL5 should be there. It is auto-populated from the previous step.

Click OK. A file named default is created in /tftpboot/linux-install/pxelinux.cfg.

Edit the file /etc/xinetd.d/tftp and change the line containing server_args and disable 

[root@server ~]# vim /etc/xinetd.conf
service tftp
{
 socket_type      = dgram
 protocol         = udp
wait              = yes
user              = root
server            = /usr/sbin/in.tftpd
server_args       = -s /tftpboot -v -v    //changes in this line
disable           = no                   //changes in this line
per_source        = 11
cps               = 100 2
 flags            = IPv4
}

[root@server ~]# chkconfig tftp on
and the start the server xinetd:

[root@server ~]# service xinetd restart
You can test your tftp server with the tftp client from your home directory:

[root@server ~]# tftp server.example.com
tftp> get linux-install/pxelinux.0
You should have the file pxelinux.0 in your home directory.

Step 3:Configuration of the dhcp Server

Edit the file /etc/dhcpd.conf and add the following lines:
subnet 192.168.1.0 netmask 255.255.255.0 
{
range 192.168.1.128 192.168.1.254;
allow booting;
allow bootp;
class "pxeclients"
{
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
 next-server 192.200.1.222;
filename "linux-install/pxelinux.0";
}
}
Even if you have a running dhcp server somewhere, this will work.
Start the dhcp server:
[root@server ~]# service dhcpd restart

Restart now your client (target) pc to boot over the network.If it does not 
work, either disable the firewall (system-config-firewall) or allow port
69 to be accessible to any hosts accessing the tftp server.
 
 
Posted in: Linux.
Last Modified: January 12, 2017

Leave a reply