Linux OS Installation without Media Via PXE Boot

Linux OS Installation without Media Via PXE and Kickstart Method


This Post will be very shortly described to show you how to install Linux OS over the network in which you don’t require for DVD drive and DVD images. In short, this post is all about Linux OS Installation without Media Via PXE Boot. This will help us to install 100's of servers with good scalability in less time.

If you are interested in learning, Request you to go through the below recommended tutorial.


Linux OS Installation without Media Via PXE Boot


Basic Simple Steps:

1. Configure the network (NFS, FTP, HTTP) server to export the installation media.
2. Configure the files on the tftp server necessary for PXE booting.
3. Configure which hosts are allowed to boot from the PXE configuration.
4. Start the tftp service.
5. Configure DHCP.
6. Boot the client, and start the installation.

Lets take a small scenarios. I would like to install Linux OS over network via FTP without DVD (diskless installation) and Kickstart method to reduce manual input efforts like Language Selection, Disk Layout, user Creation, Network Configuration, Package Installation.

My Setup:

Hostname : selva.learnitguide.net
Server IP Address : 10.10.10.10 where OS image and DHCP server configured

Configure FTP Server on Linux


1. Check for vsftpd server rpm has been installed or not using the command
[root@selva ~]# rpm –qa | grep –i vsftpd

If you get any ouput as vsftpd-2.0 , then vsftpd package is installed on your machine. So we can go for configuring the ftp server else you need to install the vsftpd rpm manually or using yum server.

2. Default directory for ftp will be /var/ftp. So make a directory rhel5.4 under the default directory
which means path would be /var/ftp/rhel5.4

3. Copy your entire RHEL5.4 DVD into the directory /var/ftp/rhel5.4 or if you have ISO image, just

Mount the ISO to this directory using the command
[root@selva ~]# mount –t loop /tmp/rhel5.4_64bit.iso /var/ftp/rhel5.4

Now entire packages are available in ftp server. If you want to check that FTP is working or not.

4. Start the ftp service using
[root@selva ~]# service vsftpd restart

5 check the ftp service is working or not.
[root@selva ~]# telnet 10.10.10.10 21

If the connection is established, then your ftp is working over the network.

Telnet check is more than enough, if you need to verify more. Enter the url ftp://10.10.10.10/rhel5.4 in any browser from the client to ensure the directory to listing.

Configure TFPT Servers on Linux


Tftp service works under xinetd services only, so these config file will be under the directory /etc/xinetd.d/tftp. By default tftp service will be disabled. We need to enable the service.

Steps:

1. Edit the file /etc/xinetd.d/tftp and make the disable = yes to disable = no .
2. Restart the xinetd service using the command service xinetd restart or /etc/init.d/xinetd restart
3. Go to the default tftp directory /tftpboot which is mentioned in the file /etc/xinetd.d/tftp as server args.
4. Copy the pxelinux.0 from /usr/lib/syslinux/ to the directory /tftpboot. This is the file will be run after the dhcp client accepts the dhcp ip from the server.
5. Make a directory called pxelinux.cfg under the /tftpboot.
6. Get into the directory /tftpboot/pxelinux.cfg and create a file called default.

Edit the file default and append the below mentioned lines.
default local
timeout 100
prompt 1
label linux
kernel RHEL5.4/vmlinuz
append initrd=RHEL5.4/initrd.img ramdisk_size=5939 ks=ftp://10.10.10.10/ks/ks.cfg

Save and exit. Here you will have question about kernel and initrd line. We have not copied any files vmlinuz and initrd.img and we have not done any kickstart configuration. So will do kickstart at last. Now will copy the vmlinux and initrd.img files to boot the pxe client machines..

7. Make a directory RHEL5.4 under /tftpboot.

8. Copy the vmlinuz and initrd.img files from folder images which is under the DVD folder into the folder /tftpboot/RHEL5.4. In our setup, we have copied the dvd content to /var/ftp/rhel5.4.

Configure DHCP Servers on Linux


1. Check for DHCP rpms are installed using the command rpm –qa | grep –I dhcp , if you get the output as dhcpd-3 something, then rpm is installed and check for service is running or not using service dhcpd status or /etc/init.d/dhcpd status. If service is running, we can go for configuring
dhcp else install the rpm and start the service.

2. Normally dhcpd.conf file will be under /etc which will be blank. For sample config dile, you can copy the dhcpd.conf.sample file from /usr/share/doc/dhcp*/dhcpd.conf.sample to /etc/dhcpd.conf

3. Edit the config file. Change the required values and comment the arguments if you don’t want and append the below mentioned lines. This will be next step from client after the ip assigned to client from dhcp.
class “pxeclients” {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
filename "pxelinux.0";
}

4. Start the dhcp service using the command service dhcpd restart

You have configured for network installation using pxe client not for automated installation which means diskless configurations. For automated installations including diskless configurations, you need kickstart configuration.

For this, run the command system-config-kickstart and give the necessary settings and values. save it in the directory ks under /var/ftp/ks as ks.cfg. By this your ks.cfg file also available over ftp.

Over. Now power on your client and set your first boot device as your network card.

Best of luck.

Related Content on Linux might be useful to you to improve your Linux Skills.

Keep practicing and have fun. Leave your comments if any.

Support Us: Share with your friends and groups.

Stay connected with us on social networking sites, Thank you.

Post a Comment

0 Comments