Sunday, September 10, 2006

Ubuntu network install with Intel Boot Agent

I have an IBM Thinkpad Transnote that does not have any CD drive. I am left with the network install option. This was an easy task when I was still using Mandriva (formerly Mandrake) because the installer includes the images for bootable floppy drives. With Ubuntu, you are left with an option of using your motherboard / Ethernet card's booting capability. My options are: etherboot and the on-board Intel Boot Agent that supports PXE to boot. The following steps will guide you in booting the Ubuntu installer using the Intel Boot Agent. Note that the Ubuntu installer is just a bootstrap, you will have to download the rest of the packages on the Internet. Alternatively, I think you can hack the installer to get the packages from a local host (but this is out of the scope).


* The client is the laptop that has to be installed with Ubuntu.
* The server serves the client (duh!). I am running Ubuntu Dapper (6.06).

DHCP server

We need a DHCP server to serve the client with the network settings (IP, router, DNS addresses). I used Ubuntu's dhcpd. My /etc/dhcpd.conf contains the following lines:

option subnet-mask;
default-lease-time 600;
max-lease-time 7200;
option domain-name-servers;
option routers;
allow booting;
allow bootp;

#my IBM Thinkpad
subnet netmask {
host premthinkpad {
hardware ethernet 00:10:A4:78:C2:D5;
filename "pxelinux.0";


I used another DHCP server dnsmasq which supposedly serves the purpose of the line:

filename "pxelinux.0";

in the previous configuration. I am not sure which one is working so just install these two daemons (dhcpd and dnsmasq).

TFTP server

Install a tftp server. I used tftpd-hpa, it supports the PXE protocol.

Ubuntu's netboot

Download Ubuntu's netboot tar file. I got the links from this page [1].

Ubuntu Dapper netboot archive

Place the boot files to the tftp folder:

tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/
chown -R nobody:nogroup /var/lib/tftpboot

Enable the tftp server using the xinetd service. Add the ff. lines to /etc/xinet.d/tftp:

service tftp
disable = no
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -v -s /var/lib/tftpboot
only_from =
interface =

If the file does not exist, create it. Restart xinetd:

killall -HUP xinetd

Intel Boot Agent

Configure the BIOS to boot using the Intel Boot Agent. You should see a DHCPD discover request sent by the client. Then, it will load the Ubuntu installer.

Good luck!


If you have questions, post them at Ubuntu Forums, then leave a comment.


* [1]
* Thinkpads without CD-ROM drive
* Ubuntu network install

No comments: