Ubuntu 9.10 PXE Boot

Ubuntu 9.10 uses initrd.lz instead of initrd.gz, so PXE booting like you did in previous versions does not work.

This article assumes you’ve already downloaded the iso and have a working PXE boot server.

First, copy the contents of the iso to a directory we can work with

mkdir /tmp/910

mount -o loop ubuntu-9.10-desktop-i386.iso /tmp/910

cp -r /tmp/910 /tftpboot

Convert initrd.lz to initrd.gz

cd /tftpboot/910/casper

mkdir initrd

cp initrd.lz initrd

cd initrd

lzma -dc -S .lz initrd.lz | cpio -id

rm initrd.lz

find . | cpio –quiet –dereference -o -H newc | gzip -9 > initrd.gz

cp initrd.gz /tftpboot/910/casper

Now add the appropriate lines to pxelinux (Example: /tftpboot/pxelinux.cfg/default)

LABEL Ubuntu 9.10 i386 Unmodified Livecd
KERNEL 910/casper/vmlinuz
APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot= initrd=910/casper/initrd.gz quiet splash --

Make sure /tftpboot is shared via nfs; in /etc/exports add the following line


Reload the NFS server

/etc/init.d/nfs-kernel-server reload

9 thoughts on “Ubuntu 9.10 PXE Boot”

  1. after i enter in:
    find . | cpio –quiet –dereference -o -H newc | gzip -9 > initrd.gz
    i get:
    cpio: You must specify one of -oipt options.
    Try `cpio –help’ or `cpio –usage’ for more information.

    1. WordPress messes up the “-” charachter; please type it in manually and don’t copy/paste. Those are two hypens by the way for “quiet” and “dereference”

  2. Nice instructions except that I am trying something a little different [ and I can’t get it to work yet].

    I want to install over http.

    I believe that I need the net-boot initrd. This does not seem to exist, do you know how to modify the existing to work over http?


  3. Thanks a lot for this. I set it up and it’s working great. Now I’m working on a ubuntu boot CD that redirects the console to the serial port.

  4. Hi, its working fine. But i want to install ubuntu 9.10 Desktop to client machine. currently its booting with live cd option. i want to install

    Please help me on this

  5. Im getting the “PXE-E79 NBP is too big to fit in free base memory” Error!
    I was unshure what i must entry instead of pxelinux.0.
    I have choosen casper/initrd.gz
    Why I’m getting this error? Ther is one gb memory available

  6. You need to use pxelinux.0; that error is because you’re trying to load initrd.gz right away.

    I’d suggest reading up more on setting up a PXE boot server

  7. Thanks, worked perfectly. Now I need to do 8.4 LTS and 10.4 LTS: we use these as a testbench against different versions. Kind regards, Jonathan.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.