CentOS 6 minimal install on VMware with kickstart

In this post I would like to show how you can install bare minimum CentOS 6 system on VMware using a kickstart file. You will need to have a VMWare Workstation 8 installed and load either i386 netinstall image or the x86_64 bit version. My links point to the closest CentOS mirrors for me, and you will load it from one close to you.
We will not need Virtual CloneDrive as VMware is capable of running install directly from .iso file.

Let’s begin by creating a new virtual machine.

Step 1 - Create a new virtual machine

Fig. 1 Launch new virtual machine wizard

Step 2 - Select Workstation 8.0

Fig. 2 Select Workstation 8.0

Step 3 - Point to loaded netinstall image

Fig. 3 Point to loaded netinstall image

Step 4 - I install CentOS 6.2 64 bit

Fig. 4 I install CentOS 6.2 64 bit

Step 5 - Select location for VM files

Fig. 5 Select location for VM files

Step 6 - I have 4 cores on i7 so I give 2 of them to VM

Fig. 6 I have 4 cores on i7 so I give 2 of them to VM

Step 7 - I have 16Gb RAM and give 2Gb to CentOS VM

Fig. 7 I have 16Gb RAM and give 2Gb to CentOS VM

Step 8 - I use static IP's and want to use bridged neworking

Fig. 8 I use static IP’s and want to use bridged networking

Step 9

Fig. 9 Accept defaults

Step 10

Fig. 10 Accept defaults

Step 11

Fig. 11 Accept defaults

Step 12 -With minimal install VM file will be less than 1G

Fig. 12 With minimal install VM file will be less than 1G

Step 13

Fig. 13 Accept defaults

Step 14 - VM setup is completed

Fig. 14 VM setup is completed

Step 15 - Press Tab here to plug kickstart in

Fig. 15 Press Tab here to plug kickstart in

Now we have to say a few words about kickstart. There are plenty of options for ‘ks’ parameter. I used web way. This is where my kickstart was but Vadym, who created it for me, may delete it later so I put in in here.

text
skipx
install
url --url http://mirror.cogentco.com/pub/linux/centos/6/os/x86_64/
repo --name=epel --baseurl=http://download.fedoraproject.org/pub/epel/6/x86_64/
repo --name=updates --baseurl=http://mirror.cogentco.com/pub/linux/centos/6/updates/x86_64/
lang en_US.UTF-8
keyboard us
rootpw 123456
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Etc/UTC
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype ext4 --fsoptions="noatime" --size=200
part pv.1 --size 1 --grow
volgroup vg0 --pesize=4096 pv.1
logvol / --fstype ext4 --fsoptions="noatime" --name=root --vgname=vg0 --size=8192
logvol swap --fstype swap --name=swap --vgname=vg0 --size 2048
logvol /var --fstype ext4 --fsoptions="noatime,nodev" --name=var --vgname=vg0 --size=4096
logvol /home --fstype ext4 --fsoptions="noatime,nodev" --name=home --vgname=vg0 --size=2048
 
services --enabled=sendmail,network,ntpd,ntpdate
 
reboot
 
%packages --nobase
epel-release
openssh-clients
openssh-server
yum
at
acpid
vixie-cron
cronie-noanacron
crontabs
logrotate
ntp
ntpdate
tmpwatch
rsync
sendmail
mailx
which
wget
-postfix
-prelink
-selinux-policy-targeted
%end

I do not want to go into true minimal install discussion as I trust Vadym :) Let’s say it is one of the minimal install kickstarts. You can get the most benefits from kickstarts if you are going to install many systems or move them around. We extensively use kickstarts in Nerrvana under Vadym’s guidance. Our core, FTPS servers, Selenium Hub and CentOS RC VMs are all kickstarted. We can move them to another hoster pretty easily and our kickstarts reflect all packages installed as well as our own RPM’s and customisations we need for each system.

In this case we are not going to reinstall or move a system – we just want to start it and not waste time clicking around selecting packages and creating file systems. Basically we want to save time. In future posts we may share different tips of our real kickstarts as well as the way we create Windows based Xen VMs with different browsers for Nerrvana. We simply want to share what we learned while building Nerrvana so others can benefit creating their own Selenum testing systems.

Back to our topic. Put your kickstart file to make it available via HTTP. You can simply start IIS and add this file to default IIS home directoty, for example.

Step 16 - Add kickstart parameters and hit Enter

Fig. 16 Add kickstart parameters and hit Enter

Step 17 - Installation starts

Fig. 17 Installation starts

Step 18 - 'Asknetwork' param at work

Fig. 18 ‘Asknetwork’ param at work

Step 19 - Enter network details

Fig. 19 Enter network details

Step 20 - Installation resumes

Fig. 20 Installation resumes

Step 21 - Use Alt+F3 to see logs while installation goes on

Fig. 21 Use Alt+F3 to see logs while installation goes on

Step 22 - OS and packages from kickstart installed

Fig. 22 OS and packages from kickstart installed

Step 23 - All done. Now install what you want.

Fig. 23 All done. Now install what you want.

Step 24 - Takes 725Mb of disk space

Fig. 24 Takes 725Mb of disk space

Now you can login as root/123456, change password, set sshd, disable root login via ssh, create an account for youself, install MySQL, PHP etc.

Print this post | Home

19 comments

  1. Marcin EF says:

    This is excellent guide! Well documented and written.

    Thanks for sharing!

  2. PJ says:

    Hi,

    after the VM config, the CentOS just starts installing in a GUI. I don’t get the screen to choose the kickstart.
    How do I get that screen?
    thanks,

    PJ

  3. Igor Kryltsov says:

    Hi,

    On Fig 15 it says “Press [Tab] to edit options” and once you do it install pauses letting you put parameters shown on Fig 16 which tell install to use kickstart.

  4. @ndres says:

    Hello!!!

    I installed CentOS v6.3 on VMware WorkStation 9 using Easy Install and I don’t have access to the root account!!!

    Thanx!!!

  5. Igor Kryltsov says:

    I do not have version 9 of VMware WorkStation 9 and version 8 does not have Easy Install for CentOS. As I understand providing root password is a part of it which means you probably need to ask this on VMWare forum.

  6. Jon says:

    I don’t really have any idea how much time of my life you saved me but thank you my sir, thank you indeed

  7. Igor Kryltsov says:

    Glad to hear :)
    Check another related piece from us in our Selenium blog.

  8. vimal says:

    After successfull installation of automated Centos using ISO , i need to login automatically as root user but i dont have any idea on how to automate the same.

    If u have any solution pls share , it would be great to hear from you.. thnx

  9. Igor Kryltsov says:

    Did you use kickstart file we provided? If so, check kickstart file. It contains: “rootpw 123456″. You login as root with password 123456 :)

    Hope this helps.

  10. vimal says:

    thnx Igor, but my thought is not to type the password manually after installation is complete, it should automatically login as root with the given password.. pls clarify me whether the solution given by you is satisfy my question.

  11. Igor Kryltsov says:

    Hi Vimal,

    If you can, please explain why at the end of install you need to login as root?

    Igor

  12. vimal says:

    Yes Igor, I need to automate the entire installation( once installation complete and logged into the centos machine i have some packages to install that also needs to be automated) .

    So my plan is 1) installation of centos 2) login 3) installing my packages(it needs for my application to run)

    So these are the 3 steps i need to be automated and now completed only 1st..

  13. Igor Kryltsov says:

    You can install packages with kickstart, create files etc. Check this – https://projects.centos.org/trac/livecd/wiki/KickstartFile. A kickstart used in this post does not use this. Play with – http://ks.sdot.ru/. There are very few pieces of software you cannot automate installation (the way you want to do it is not a right way).

  14. vimal says:

    thnx for your discussion igor .. I will go through the links .

  15. Grover says:

    Hola
    Si desean conocer como instalar CentOS 6.4 en VMware 9, podrán encontrarlo en este post:
    http://isyskernel.blogspot.com/2013/03/instalar-centos-64-de-64-bits-en-vmware.html

  16. Igor Kryltsov says:

    If you want to know how to install CentOS 6.4 on VMware 9, look at this post:
    http://isyskernel.blogspot.com/2013/03/instalar-centos-64-de-64-bits-en-vmware.html

    Just translating to English :)
    Thanks Grover!

  17. Enayat says:

    I found your guide really useful and solved most of my questions.

  18. Demanther says:

    This is damn awesome! i love it! I used ESXi so a few parts were different, but overall i’d always wondered how to use a kickstart file… was flawless!

  19. Igor Kryltsov says:

    Glad to hear. If you have more questions abou kickstart creation – please ask.