Kickstart

This document is intended as a suplement to the existing documentation. It includes a number of corrections/changes/gotchyas, and is centered on v6.1. Enjoy!.


Linuxdoc's HOWTO is a touch out of date, but definately worth reading - it covers a few of the gotchyas that Red Hat's documentation doesn't, and includes fun stuff about modifying the boot diskettes, and creating your own RPMs.

Red Hat's 6.1 Kickstart Documentation This is the current, official documentation. YMMV. There are a few inaccuracies in the documentation, and Red Hat themselves have admitted that it could be improved.

kickstart-list@redhat.com is a mailing list dedicated to talking about kickstart, and associated problems. Subscribe by sending email to 'kickstart-list-request@redhat.com' with 'subscribe' in the Subject:

kickstart's main file, kickstart.py to which I'm referring when 'check the code' is the comment. It's written in python, and is a part of annaconda. All the same, it's pretty easy to figure out, even if you've never seen python before.

What I did, and my config files


In the beginning

Kickstart has a few requirements to work:

NFS Server - you need the OS image exported and accessible. Under the current setup, you need to have the /RedHat tree accessible.

DNS Server - for some reason, kickstart does a reverse name lookup as a part of it's installation proceedure. Whatever IPs you elect to assign to the box being installed must have reverse DNS. It won't work otherwise. This is apparently changing in the next release, but that doesn't help now.


DHCP Server - In order to get kickstart working, I ended up setting up a DHCP server. Others have gotten things working with static IPs, and it's entirely likely that my problems were related to the DNS requirement above. YMMV.

Netboot diskette - you'll need to create a floppy with the 'netboot' image, not the 'boot' image.

Now to create your kickstart config file


There's perfectly good documentation on how to do this already. Just a few things to look out for.

lang en_US


Yes - the documentation all says lang en It's lying. en_US is obviously US english - if you need something else, check the language lists in the code.

network --bootproto dhcp

Some of the docs omit the --bootproto. You need it.

nfs --server 10.0.0.1 --dir /usr/local/install/RedHat/6.1
keyboard us
zerombr yes
clearpart --all
part /boot --size 16

This is here because Disk Druid is a touch odd. For reasons that escape me, it creates partitions from largest, to smallest, except for the /boot partition, which is always at the front.

Big deal, I can hear you saying. Well, actually, yes. Lilo, in it's current incarnation, under 6.1 won't boot off of anything over the 1024 cylinder limit (unless your bios supports that), so if your root partition happens to be beyond that, your machine just won't boot. Feh.

part / --size 200
part swap --size 512
part /var --size 4096
part /usr --size 2048 --grow
install
mouse genericps/2

Once again, the docs on mousetype are off. ps/2 won't work. Again, check the mouse type lists in the code.

timezone --utc UTC
rootpw temp

Speaking of other gotchyas, the --iscrypt option isn't quite as written.

It actually needs to be: rootpw --iscrypted ANYSTRINGHERE encryptedstring, where ANYSTRINGHERE is literally any string with no spaces. Much thanks to Marty Messer from Red Hat for this correction!

auth --useshadow --enablemd5
lilo --location mbr
%packages
@ Base
@ Networked Workstation
@ Utilities


Thanks to people who've helped out with corrections!