Kickstart short cuts for noobs
Introduction
Purpose
Kickstart is the core of the automated installation system used by Fedora and RHEL.
This short cut describes how to set-up such a system.
Scope
Acronyms, descriptions
References
- http://www.linux-kvm.org/page/Documents
- KVM documentation page.
- | How Kickstart Works
- High level overview of Kickstart, and a tool for modifying the kickstart configuration.
- | RedHat Linux KickStart HOWTO
- This HOWTO briefly describes how to use the RedHat Linux KickStart system to rapidly install large numbers of identical Linux boxes.
- | How To Set Up A Local Yum Repository On Fedora 8
- Creating a local repository.
- http://fedoraproject.org/wiki/Anaconda/Kickstart
- kickstart syntax.
Open issues
Operating Environment
- yum install yum-utils
- This package will enable you to download packages, without installing them. So you can populate your kickstart server with packages that didn't come with the Install media.
Do the virsh bridge create in kickstart http://www.mail-archive.com/netcf-devel@lists.fedorahosted.org/msg00361.html
Storage
Network
Administration
Creating the NFS export Structure
- mkdir -p /exports/ks/configs
- mkdir -p /exports/ks/images
- update /etc/exports
/exports/ks/configs 192.168.42.0/255.255.255.0(ro,no_root_squash)
- service nfs restart
populate an install directory for kickstart use
- mount -o loop /exports/isos/images/rhel6beta2.iso /mnt
- pushd /mnt
- cp -r * /exports/ks/images/rhel6beta2
- update /etc/exports
/exports/ks/images/rhel6beta2 192.168.42.0/255.255.255.0(ro,no_root_squash)
Kickstart config file
To create the config file use:
- Fedora
- /usr/bin/system-config-kickstart
- (install by: yum install system-config-kickstart)
# Kickstart file automatically generated by anaconda. # Tells the system to install a fresh system rather than upgrade an existing system. install # Install from the NFS server specified. nfs --server=192.168.42.132 --dir=/exports/ks/images/rhel6beta2 # If present, X is not configured on the installed system. skipx # Perform the kickstart installation in text mode. text # Installation logging level logging --level=info # Sets up the authentication options for the system. authconfig --enableshadow --enablemd5 # Sets the system's root password rootpw --iscrypted XXXXXXXXXXXXXXXXXXXXXXXXXXX lang en_US.UTF-8 keyboard us timezone --utc CET # Configures network information for the system. network --device=eth0 --bootproto=dhcp --onboot=on network --device=eth2 --bootproto=dhcp --onboot=on network --device=eth3 --bootproto=dhcp --onboot=on firewall --disabled selinux --disabled bootloader --location=mbr # Clear the Master Boot Record zerombr clearpart --all --initlabel part / --fstype="ext3" --size=14000 part swap --fstype="swap" --size=768 firstboot --disabled reboot %packages @base @core @java keyutils trousers fipscheck device-mapper-multipath -cups nfs-utils #%post # Any post ops, just add the bash script commands here. %end
Adding a package to the repository
- yumdownloader sysstat: Downloads the 'sysstat' packages, to the current directory, and with the same architecture as the current system architechture.
- 'uname -m' will print the system architecture.
setting up a boot server
- http://linux-sxs.org/internet_serving/pxeboot.html
- http://fedorasolved.org/installation-solutions/installing-fedora-using-pxe-images
- http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch25_:_Network-Based_Linux_Installation
- yum install tftp-server dhcp httpd syslinux
- vi /etc/dhcp/dhcpd.conf
subnet 192.168.42.0 netmask 255.255.255.0 { range 192.168.42.10 192.168.42.24; default-lease-time 3600; max-lease-time 4800; option routers 192.168.42.1; option domain-name-servers 192.168.42.1; option subnet-mask 255.255.255.0; } host booty { hardware ethernet 00:54:20:7a:7e:8a; fixed-address 192.168.42.21; option host-name "booty"; filename "pxelinux.0"; }
- vi /etc/xinetd.d/tftp
- Change ' disable = no'
- Insert the Fedora DVD
- mount /dev/dvd /mnt
- cp vmlinuz initrd.img /var/lib/tftpboot
- cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
- cd /var/lib/tftpboot
- mkdir /var/lib/tftpboot/pxelinux.cfg
- touch 01-00-54-20-7A-7E-8A
- touch C0A830A0
- vi pxelinux.cfg/default
prompt 1 default linux timeout 100 label linux kernel vmlinuz append initrd=initrd.img ramdisk_size=9216 noapic acpi=off
- Follow: https://fedoraproject.org/wiki/Kickstart_short_cuts_for_noobs#Creating_the_NFS_export_Structure
- Test that the boot works.
- Add kickstart as per 'Booting With Your Kickstart Files' in http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch25_:_Network-Based_Linux_Installation
- Change the 'append' line in the default file to:
- append initrd=initrd.img ramdisk_size=9216 noapic acpi=off ks=nfs:192.168.42.1:/exports/ks/configs/fedora14.ks
Local repository
See the reference in the reference list.
- yum install lighttpd
- vi /etc/lighttpd/lighttpd.conf
- enable mod_aliases
- add 'alias.url = ( "/yum" => "/exports/isos/repos" )'
- chkconfig lighttpd on
- /etc/init.d/lighttpd start
Package administration bytes
- list content of a package
- repoquery -ql mercurial
- find a package
- yum search kvm
- download package without installing
- Install a local package
- yum localinstall TUT.RPM
- Description of package
- yum info mercurial
Trouble shooting
kickstart
I have to select the NIC to use for the installation
During the boot, on a multi NIC system, I'm asked to choose which NIC to use for the installation.
use the ksdevice=eth3 in the kickstart command.
on virt-install put it inside the -x"PARMS" parameter.
yum
Cannot retrieve repository metadata (repomd.xml)
See: [ http://digitizor.com/2009/06/17/how-to-fix-the-cannot-retrieve-repository-metadata-repomd-xml-error-in-fedora-11 | How to fix the “Cannot retrieve repository metadata (repomd.xml)” error in Fedora? ]
Public key for .rpm is not installed
Public key for tigervnc-server-minimal-1.0.90-0.22.20100813svn4123.fc14.x86_64.rpm is not installed
See: | Public Key Not Installed
- find / -name "*GPG*"
- rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora