"Official Ubuntu Server Book" on Amazon. If you use Ubuntu Server, this really is a terrificly written and broad book. It's not even THAT dated (very little talk of Upstart) and has few grammatical errors. My tutorial below is from what I learned from this book.
It has an entire chapter on automating and customizing Ubuntu installations.
Also, the last "System Administration" Linux Journal (March or April 2010, I think) had a similar article from start to finish, well written, on the same topic.
Edit: Apparently, their articles are free online after a few months.
Here's the article: Economy Size Geek - Installation Toolkit
Three keywords to look into:
Preseeding
Kickstart
PXE
Hope this helps.
Tutorial
I'm only covering getting netboot installed, not making custom installs with Kickstart/Preseeding. I'm assuming you know DHCP configuration. It's not that difficult.
1)You'll need your DHCP server (you need one) configured with several new options in
/etc/dhcp3/dhcpd.conf.
a. Inside the subnet declaration, have
range dynamic-bootp lowip highip
Basically, add the "dynamic-bootp" option in your range config.
b. Next, in global settings OR in your specified subnet, add the following two options:
next-server ip_of_netboot_server
filename "pxelinux.0"
2) Install the tftpd-hpa
package on the netboot server. Make sure UDP port 69 is opened there.
3)Grab the netboot images.
The following is made easy by the fact that Ubuntu preconfigures a lot of the setup, so you'll be ready to go with a simple setup quickly.
$ cd /var/lib/tftpdboot
$ sudo wget http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-amd64/current/images/netboot/netboot.tar.gz
$ sudo tar -xzvf netboot.tar.gz`
There are many different ways to tweak all these programs, netboot installation options, etc. to make it a very powerful, customized tool. What I've described is the bare bones.
FROM HERE
you can plug a computer into your network, boot it from LAN (via BIOS, or hotkey at POST) and install Ubuntu. It will be grabbing a lot of packages from the Internet, so be ready for that. You can set up mirrors or apt-cache servers to alleviate this problem, but as I said, this is only the simple setup.