Ubuntu PXE install via Windows

Posted by reto on 23 December, 2006 23:10

This article expains in step by step instruction how to install Ubuntu over the network (although it's easy to adapt the how-to to other linux distros) via a Windows 2000/XP client.

Introduction

The Preboot Execution Environment (PXE) is nothing new, but rarely used in home office environments because it's most of the time easier to install any operating system from a CD, DVD or even a USB storage device. But what, if you have neither optical drives nor USB storage devices? The only requisites for a PXE installation are a working computer (any OS with TFTP Servers available will do) and Internet access.

The Problem

With the new Intel Southbridge (ICH8R) parallel ATA Drives are no longer supported by the chipset natively, which means most motherboard manufacturers add third party controllers on their boards to provide p-ata interfaces. These third party controllers however are not well supported on Linux at the moment. Especially not directly in the kernel, which means you would have to pre-compile your own installer to access any p-ata CD-Rom. Another reason for using PXE might be subnotebooks without CD/DVD-ROM. The only option you have there is an installation via USB or over the network (PXE).

Step 1: Prerequisites

First get yourself a copy of the free TFTP server by Philippe Jounin. Second we need the ubuntu installer files. Of course it doesn't make much sense to download one of the ubuntu CD images if we only need the small installer. The installer will choose the nearest mirror and download all the files needed automatically during the installation.
The browsable Ubuntu archives are at http://archive.ubuntu.com/ubuntu/dists/. But as we only need the installer, we can ftp to ftp://archive.ubuntu.com/ubuntu/dists/edgy/main/installer-i386/current/images/ and download the folder netboot (ignore any symlinks, they may give you errors during the download).
That's all we need to boot our Ubuntu installer over the network. Let's setup the TFTP server.

Step 2: Setting up a TFTP Server on WindowsTFTP32 DHCP Settings

  1. Create a directory, preferably on your C Drive. We'll name it tftp for now.
  2. copy the tftpd32.exe to c:tftp
  3. Start the server by clicking on the exe
  4. switch to the tab "DHCP Server" and fill in your network setup. Note that the PC you want to boot must be in the same Subnet. Enter pxelinux.0 as the boot file. The Screenshot on the right shows my setup.

Now we need to copy the Ubuntu netboot installer over to our tftp root directory:

  1. copy the folder ubuntu-installer to c:tftp
  2. copy the folder pxelinux.cfg from ubuntu-installer/i386/ to c:tftp
  3. copy the file pxelinux.0 from ubuntu-installer/i386/ to c:tftp

This is how your tftp folder should look like:

c:tftppxelinux.cfgdefault
c:tftpubuntu-installeri386<some more files/folders>
c:tftppxelinux.0
c:tftptftpd32.exe

Step 3: Booting Ubuntu

To boot from tftp you may need to activate booting from the network interface in the BIOS. This may be done in the boot sequence settings or directly in the onboard ethernet device settings. After that, restart, lean back and watch the activities in the log viewer tab of the tftpd.


Note: Ubuntu will let you choose a mirror and download all the files you need. The whole procedure will work with any other debian flavour almost identically. There is a nice how to on doing a PXE install via Linux instead of windows at the CCC Wiki

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Related Articles
Optimizing PNG Compression
Totally Unrelated Post
Mercedes-Benz Mixed Tape 16
Easy Audio Stream Recording with Streamripper
Slashdot Readers on Windows Viruses

 


Trackbacks

Back in Shape

Reto's Weblog | 06/11/2007 23:09

Long time no post on this blog and terribly bad performance for almost a year. But that's all history now. I finally found the time to move the site to a new server with enough speed to serve all visitors to their satisfaction. Hostpoint did quite ...