Kickstart file is a great solution which enables you to automate installation of CentOS Linux, Red Hat Enterprise Linux and other Red Hat Linux derivates. Kickstart file is basically a single file containing answers to all the questions that you would normally be asked during a typical installation of your Linux system. Kickstart file can be modified to suit your needs, some specific installation questions can be left unanswered (like partitioning, or some other) and the installation process will (still) require user interaction to complete. If desired installation process can be fully automated with the Kickstart file and no user interaction in needed!
Kickstart file can be created via GUI application on CentOS or Red Hat Linux. This how to will guide you through the process of creating your first Kickstart installation file.
- X Window System
Let’s start our Create Kickstart File guide!
1. Install Kickstart Configurator Software
Run the following command from command line to install Kickstart Configurator Software on your CentOS Linux.
[root@foo1 ~]# yum install system-config-kickstart
2. Run Kickstart Configurator Software
Run kickstart configurator software from the Gnome panel.
3. Install additional font (python)
I was asked to install additional font to view the document correctly. Click search and install – it will finish immediately.
4. Basic Configuration
Configure the default language, keyboard and timezone. Also set the root system password and check the box to encrypt it. You can also specify RHEL license key which i won’t, since i am installing CentOS Linux. You must also define the target system architecture and check the box if you want to reboot the system after the installation.
5. Installation Method
You can choose to perform a completely new installation or upgrade an existing Linux system. We also need to define the installation source which is in my case HTTP Server serving CentOS 6 i386 installation DVD.
6. Boot Loader Options
If you want to perform a new Linux system installation you will need to “install new boot loader”. You can also set the Grub password which i did not choose to do. Again if performing a fresh installation you will “install boot loader on Master Boot Record (MBR)”. You can also specify additional kernel parameters.
7. Partition Information
If your Linux system partitioning is standardized you can configure your desired Linux partitions. Since i will be using this kickstart for non-standard installations i will not configure partitions. This means user interaction will be necessary when installing Linux system – i will be asked to configure partition layout manually by hand.
8. Network Configuration
In this step you can configure networking and network devices. Since i am running DHCP in my environment i decided to configure DHCP boot protocol on eth0. Post installation reconfiguration will be required to configure a static IP address for my eth0 network interface.
You can configure LDAP or other form of authentication for your Linux system. Since my Linux system users are local i will not enable none of the available authentication methods. But what i have done is changed the password hashing algorithm to SHA512 which is more secure.
10. Firewall Configuration
Enable or disable Linux Firewall and SELinux, I will disable both of them.
11. Display Configuration
In this step you can choose if you want to install Linux system with graphical environment (GUI). You can also enable or disable the first boot agent.
12. Package Selection
You can choose which specific packages you want to install. Since i am configuring this kickstart file to install non graphical (minimal) CentOS, i will leave all of the packages unchecked.
13. Pre-Installation Script
This is where you copy and paste bash commands you want to execute before the starting kickstart installation process.
14. Post-Installation Script
This is where you copy and paste bash commands you want to execute after the kickstart installation process is finished.
15. Save Kickstart File to Disk
To finish up you need to save kickstart file to disk. File -> Save and name your kickstart file appropriately.