Cobbler is a system designed to help you automate your installs over the network. It’s primarily aimed at Red Hat-based distributions, such as Red Hat Enterprise Linux, CentOS, and Fedora. However, you can use it to install Debian-based distributions as well, with a caveat.
The Debian support is not nearly as good as the RH one. Furthermore, in Debian Squeeze, the network boot does not support AHCI disk controllers, which makes it useless for my test setup. So I will put the Ubuntu instructions here, and someone can modify them to use it with Debian.
I will not be covering Cobbler basics here right now. The wiki is good for that. Also note that there is no package in Debian for Cobbler. There is one in the newest releases of Ubuntu.
Step 1, get Ubuntu Server Installer CD. I will use 10.04 LTS. Go here to get a list of CD mirrors near you. For me, this URL ends up being:
Step 2, loopback mount the ISO.
mount -o loop /home/isos/ubuntu-10.04.2-server-amd64.iso /media
Step 3, rsync files from ISO to /var/www/cobbler/ks_mirror/Ubuntu-lucid-x86_64
rsync -a /media/ /var/www/cobbler/ks_mirror/Ubuntu-lucid-x86_64 --exclude-from=/etc/cobbler/rsync.exclude
Now you have a local copy of the CD as a Net-boot repo resource. The files needed are at:
Step 4, Create a Distribution in Cobbler
cobbler distro add --name=Ubuntu-lucid-x86_64 --kernel=/var/www/cobbler/ks_mirror/Ubuntu-lucid-x86_64/install/netboot/ubuntu-installer/amd64/linux --initrd=/var/www/cobbler/ks_mirror/Ubuntu-lucid-x86_64/install/netboot/ubuntu-installer/amd64/initrd.gz --arch=x86_64 --breed=ubuntu --os-version=jaunty --ksmeta="directory=/cblr/links/Ubuntu-lucid-x86_64 suite=lucid [email protected]@[email protected]@ language=english"
Note Jaunty is the newest one supported by this version of Cobbler.
Step 5, Create the Link for installation use:
ln -s /var/www/cobbler/ks_mirror/Ubuntu-lucid-x86_64 Ubuntu-lucid-x86_64
Step 6, Set up a profile
cobbler profile add --name=Ubuntu_x86_64 --distro=Ubuntu-lucid-x86_64 --kickstart=/var/lib/cobbler/kickstarts/sample.seed
Step 7, Set up a system
(Best done through web ui)
Step 8, test!