Requires:Ubuntu server for PXE environment (tested on Jaunty 9.04 server).
Wired network.
PXE boot capable network card on target machine.
On the Ubuntu server:
Login as root or sudo su -
Create the following directory structure:/pxe
/pxe/images
/pxe/images/ubuntu
/pxe/pxelinux.cfg
Download syslinux-xxx.zip from here:
http://www.kernel.org/pub/linux/utils/boot/syslinux/
Extract the files.
Find menu.c32 & pxelinux.0 & copy them to the /pxe directory.
The other syslinux files & zip are no longer needed and can be deleted.
create a file /pxe/pxelinux.cfg/default & paste in the following:DEFAULT menu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
TIMEOUT 600
MENU TITLE PXE Boot Menu
LABEL Ubuntu Jaunty Live Desktop
kernel images/ubuntu/casper/vmlinuz
append boot=casper netboot=nfs nfsroot=192.168.1.101:/pxe/images/ubuntu initrd=images/ubuntu/casper/initrd.gz -- splash
LABEL Ubuntu Jaunty Live Install
kernel images/ubuntu/casper/vmlinuz
append boot=casper netboot=nfs nfsroot=192.168.1.101:/pxe/images/ubuntu initrd=images/ubuntu/casper/initrd.gz -- splash only-ubiquity
Copy the contents of the Ubuntu live CD into /pxe/images/ubuntu
Now install dnsmasq & nfs-kernel-serverapt-get install dnsmasq nfs-kernel-server
edit /etc/dnsmasq.conf & replace all text with:no-hosts
server=/localnet/192.168.1.1
dhcp-range=192.168.1.40,192.168.1.50,2h
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/pxe
resolv-file=/etc/nameservers
dhcp-option=3,192.168.1.1
Make sure you replace the ip addresses, netmasks etc with ones suitable for your network.
edit /etc/exports & replace all text with:/pxe/images *(ro,sync,subtree_check)
Add your DNS nameservers by creating the new file (this example is for opendns):
nano /etc/nameserversnameserver 208.67.222.222
nameserver 208.67.220.220
Reboot your server (or restart dnsmasq & nfs-kernel-server).
You should now be able to boot your target client machine to Ubuntu if it has a pxeboot enabled network card (usually accessed by pressing F12 at boot).
This worked for me. I hope this helps.
Bookmarks