Kickstart
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
Kickstart has a few requirements to work:
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.
Netboot diskette - you'll need to create a floppy with the 'netboot' image, not the 'boot' image.
lang en_US
network --bootproto dhcp
nfs --server 10.0.0.1 --dir /usr/local/install/RedHat/6.1
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
timezone --utc UTC
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
NFS Server - you need the OS image exported and accessible. Under the current setup, you need to have the
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.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.
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.
Some of the docs omit the --bootproto. You need it.
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.
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.
rootpw temp
Speaking of other gotchyas, the --iscrypt option isn't quite as written.
lilo --location mbr
%packages
@ Base
@ Networked Workstation
@ Utilities
Thanks to people who've helped out with corrections!