HowTo/CreateKickstartISO

From LunaSys
Jump to navigation Jump to search

Download the file CentOS-6.2-x86_64-netinstall.iso

Create make.sh:

VERSION=$1
TYPE=$2
KS=ks-$VERSION-$TYPE
ISO_NAME=centos-$KS.iso

set -x

if [ -d bootiso ]; then rm -rf bootiso; fi
if [ -d bootisoks ]; then rm -rf bootisoks; fi
mkdir bootiso
mkdir bootisoks

mount -o loop CentOS-$VERSION-x86_64-netinstall.iso bootiso

cp -r bootiso/* bootisoks/

umount bootiso

cd bootisoks/

cp ../$KS.cfg isolinux/ks.cfg
cp ../isolinux.cfg isolinux/

mkisofs -o ../$ISO_NAME -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T isolinux/

cd ..

To create the ISO, run the command:

sudo ./make.sh 6.2 slim

Example of kickstart:

install
reboot --eject
#cdrom
url --url http://mirrors.ircam.fr/pub/CentOS/6.2/os/x86_64/
key --skip
# Localisation
lang en_GB.UTF-8
keyboard uk
timezone --utc Europe/Paris
# Display
#xconfig --startxonboot --resolution 800x600
# Network
network --device eth0 --bootproto dhcp
#network --device eth0 --bootproto static --ip 192.168.122 --netmask 255.255.255.255 --gateway 192.168.122.1
# Security
rootpw --iscrypted $1$Jv7aI2dT$ZQyFl5MJxEPkIXdHlympw/
firewall --enabled --port=22:tcp
authconfig --useshadow --enablemd5
selinux --enforcing
# System
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
clearpart --all --initlabel
part /boot --fstype ext4 --size=300
part pv.1 --size=100 --grow --asprimary
volgroup sys --pesize=32768 pv.1
logvol swap --fstype swap --name=swap --vgname=sys --size=512
logvol / --fstype ext4 --name=root --vgname=sys --size=512
logvol /home --fstype ext4 --name=home --vgname=sys --size=128
logvol /tmp --fstype=ext4 --name=tmp --vgname=sys --size=256
logvol /usr --fstype=ext4 --name=usr --vgname=sys --size=1024
logvol /var --fstype ext4 --name=var --vgname=sys --size=512
logvol /var/log --fstype ext4 --name=varlog --vgname=sys --size=256
logvol /var/www --fstype ext4 --name=varwww --vgname=sys --size=64
logvol /var/lib/mysql --fstype ext4 --name=varlibmysql --vgname=sys --size=64

%packages --nobase
audit
bzip2
crontabs
dhclient
logrotate
mailx
man
ntp
openssh
openssh-clients
openssh-server
pam_passwdqc
postfix
psacct
screen
sudo
tcpdump
wget
which
yum
vim
%end

%post
# configure sudoers
echo "%wheel      ALL=(ALL)      ALL" >> /etc/sudoers
# add users
adduser -G wheel locked -p '$1$Jv7aI2dT$ZQyFl5MJxEPkIXdHlympw/'

echo "alias l='ls -aCFlh'
alias u='yum update'
alias i='yum install'
alias r='yum remove'
alias s='yum search'" >> /root/.bashrc

yum -y install http://mirrors.ircam.fr/pub/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm

To generate a crypted password, use this command:

openssl passwd -1