Now there are 2 options:
a) DHCP + tftp + pxelinux
b) Grub on client's disk (e.g. floppy) + NFS
I'm still working on (a), but I got (b) up and running right now, so here we go:
1) download the current ubuntu live ISO (e.g. ubuntu-8.04-desktop-i386.iso)
2) Install NFS on your server:
Code: Select all
apt-get install nfs-kernel-server
mount -o loop -t iso9660 ubuntu-8.04-desktop-i386.iso /media/images/ubuntu-hardy
4) share that folder, by adding the following line to /etc/exports:
Code: Select all
/media/images/ubuntu-hardy 192.168.1.0/255.255.255.0(async,no_root_squash,no_subtree_check,ro)
5) copy 2 files from that iso to your client's /boot/ folder:
/media/images/ubuntu-hardy/casper/vmlinuz -> /boot/vmlinuz_hardy
/media/images/ubuntu-hardy/casper/initrd.gz -> /boot/initrd_hardy.gz
6) Add the following lines to /boot/grub/menu.lst on your target (client) machine:
Code: Select all
label ubuntu-netboot
root (hd0,0)
kernel /boot/vmlinuz_hardy root=/dev/nfs boot=casper netboot=nfs ro nfsroot=192.168.1.x:/media/ubuntu-hardy ip=dhcp
initrd /boot/initrd_hardy.gz
Thanks to these info resources:
Grub NFS boot (sjoerd)
Live CD netboot (ubuntu wiki)