User Tools

Site Tools


PXE Boot from Ubuntu Server

I had a laptop where the cdrom drive was broken, and the BIOS didn't support boot from USB, I decided to try a PXE install. There is a lot of guides around the net, but I really had problems getting it to work. Most refers to the netboot installation option, which is not so obvious to find for Ubuntu 10.04. I found a nice, and simple, working solution here.

The only thing I made different was using dhcp3 instead of dnsmasq, because I followed some of the other guides to start with. Also to test the recommended TFTP server, install the tftp-hpa package:

sudo apt-get install tftp-hpa

Then try to load the pxelinux.0 file with it:

cd /tmp
tftp <server_ip> -c get pxelinux.0
ls -l pxelinux.0

It should show a pxelinux.0 file around 14kB.

The way the iso image is mounted is important, the TFTP share is chroot'ed so it must be below the /var/lib/tftpboot/ directory. I added the following to the servers /etc/fstab file:

<path to ubuntu-10.04.1-desktop-i386.iso> /var/lib/tftpboot/iso-image/lucid	udf,iso9660	user,loop	0	0
/var/lib/tftpboot/iso-image /media/iso-image none user,rbind	0	0

And at last add the wanted shares in /etc/exports:

/media/iso-image/lucid	*(ro,no_root_squash,async,no_subtree_check)

Restart all server programs:

/etc/init.d/tft-hpa restart
/etc/init.d/dhcp3-server restart
/etc/init.d/nfs-kernel-server restart

I have disabled the dhcp server in my router, I don't now if it would cause problems.

pxeboot.txt · Last modified: 2019/07/21 20:03 (external edit)