Centos 7 kickstart Installation on Virtualbox – Linux

Hello everyone,

The ‘kickstart’ installation is nothing but automating the operating system installation process on a machine or system. The method helps to avoid human interaction with the system during the installation process. It’s not possible to install the OS on thousands of systems using the traditional method and in such cases the ‘kickstart’ installation can save us.

I do not want to write so much bla bla thing so I am going directly to the steps we should perform for a kickstart installation.

To demonstrate this I am using ORACLE VM VIRTUAL BOX MANAGER. I got DVD image of CentOS 7 on the local machine and have one virtual machine with CentOS 7 installed using VirtualBox. I named it as ‘kickstart server’ machine which is going to serve the kickstart file for other machines we are going to create.

Now let’s check the steps one by one:

STEPS:

  1. Make the kickstart file available via a web-server for the installation (kickstart server). Here I use VirtuaBox with an internal network 192.168.1.18 and will install CentOS 7 on a client machine (let’s call it netboot machine).
  2. The kicktart server machine will have the anaconda-fs.cfg and which will be located in the below path:
    /root/anaconda-ks.cfg
  3. In this step, I would like you to check the network configuration of the server and make sure you have connected to the INTERNET. Please type in the below command on the terminal of kickstart-server and check the IP address:
    # ifconfig
    Please note the IP address and the ethernet interface name. In this case my IP address is 192.168.1.18 and ethernet interface is enp0s3. Please check the below screenshot for more clarity in this.
  1. Now let’s install apache web server this master machine which can provide the kickstart file to the other servers. For this, you can use the below command, stop firewall on the server first and then try to install apache with the help of yum.

# systemctl stop firewalld.service
# yum install httpd

Output:

Now, start the httpd service using the below command and check it’s status:
# systemctl start httpd.service
# systemctl status httpd.service

Output:

  1. Now copy anaconda-ks.cfg (the kickstart file generated during the installation of kickstart-server) and copy it on the document root directory of Apache. Please do the below steps:
    # cp /root/anaconda-ks.cfg /var/www/html/anaconda-ks.cfg
    # mv /var/www/html/anaconda-ks.cfg /var/www/html/ks.cfg
    # chown apache:apache /var/www/html/ks.cfg
    # chmod 755 /var/www/html/ks.cfg
  2. You can try to dowload the kickstart file using wget http://192.168.1.18/ks.cfg command from another test server to make sure the master machine serves the file. I tested it using a test machine called ‘limon’ on my VirtualBox.

Output:

IMPORTANT NOTE: If you guys getting any errors in this step or not able to download the kickstart file please make sure the below things:
a) https service is up and running in the master machine
b) firewall and selinux are disabled on the master server(kickstart server)
c) IPTABLES not causing any issues
d) master machine is having proper internet connection, try ping google.com if you want.

  1. We are about to finish doing the steps and getting things ready. Create a second node on Virtualbox and add a network interface (type Host-Only Adapter or according to your local machine settings to contact 192.168.1.18). In this case the virtual network card will be named enp0s3 and I am selecting the bridged adapter to get in touch with the master machine. In the settings of this node, please enable the network boot also.

The following images will give you some more information.

For the second machine (which we will be installed with CentOS 7 using kickstart file) enable the following as marked in the below images:

Image1:

Image 2:

8. Finally just start the newly created machine (I call it as netboot machine) and boot from Centos 7 installation CD-ROM, once you have the menu as shown below press TAB button to configure your network options and kickstart file location.

NOTE: The IP numbered as 1 in the above image is the IP we assign to the newly created machine or for the netboot machine. IP that highlighted with yellow is our kickstart file server with location of the ks.cfg file.

  1. Now press enter button, your virtual machine will be installed without human interaction in few minutes, the root password will be same as that of the master machine.

The final window if everything is fine with the installation is given below, otherwise you will get errors like ‘network or kickstart file unreachable’ etc. In that case, please cross check everything twice and configure it again.

That’s all guys, do more experiments with it and enjoy Linuxing with prittytimes! Do write comments! Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *