October 17th 2009
Firstly, there are a few places you need to know about, most of them on hemlock. There is an apt-cacher-ng (package cacher) on oak. When installing a new distribution, the first time you install the process will be quite slow, as the apt-cacher-ng needs to be populated, and it learns what packages to store by what packages the installer downloads.
Places to know about on hemlock:
/srv/pub/linux/preseeds/ - The directory where the preseed files live, served out by Apache to the installer.
/srv/var/lib/tftpboot/pxelinux.cfg/ - The directory where the PXE boot configuration files are stored.
/srv/var/lib/tftpboot/ - Directories where installation subdirectories live, such as "jaunty" (you will have to untar the archive of the installation directories from the Ubuntu site.)
First, get the PXE installation filesystem from the ubuntu site. Untar it in hemlock's /srv/var/lib/tftpboot/ directory and rename it to the first name of the distribution nickname (ie hardy, or jaunty.)
Make an entry in hemlock's /srv/var/lib/tftpboot/pxelinux.cfg/default file. Like this:
LABEL install-i386-jaunty-automatic MENU LABEL Install i386 Ubuntu Jaunty (^automatic) MENU INDENT 1 kernel jaunty/i386/linux append oem-config/enable=true preseed/locale=en_US kbd-chooser/method=us debian-installer/locale=en_US.UTF8 debian-installer/keymap=us
languagechooser/language-name-ascii=English debconf/language=en languagechooser/language-name=English country chooser/country-name=Canada fd0=noprobe netcfg/choose_interface=auto netcfg/get_hostname=freegeek preseed/url=http://hemlock/linux/preseed/i386-ubuntu-904-automatic.cfg initrd=jaunty/i386/initrd.gz --
The most important thing to note is that there is a reference to the preseed file on hemlock. Change that entry to an appropriate value such as <platform>-ubuntu-<version number>-<automatic || manual>.cfg .
Another important thing to change is the location of the kernel for booting. It should be in the /srv/var/lib/tftpboot/<distro nickname> directory on hemlock that you created and untarred the file from the ubuntu site and renamed.
Edit the preseed file on hemlock that you should create from the existing preseed scripts, or from the example script on the Ubuntu site. The debian-installer is not picky about the order of items in the config file, so you can group them together as you see fit.
You might want to put the .iso of the distribution on hemlock for burn-o-rama.
There is excellent documentation on the Ubuntu site about preseeding. It is relatively up to date, covering Jaunty Jackalope (9.04) and may be updated soon for Karmic Koala (9.10) . It is at https://help.ubuntu.com/9.04/installation-guide/i386/preseed-contents.html.