Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to set up PXE in order to install Ubuntu 13.10 Server x64 through local network. So far, I can boot through PXE and, when using pxelinux.cfg/default provided by default, be able to install Ubuntu by downloading it from a mirror.

I want to be able to install Ubuntu from NFS. I edited pxelinux.cfg/default like this:

1  # D-I config version 2.0
2  default ubuntu-installer/amd64/boot-screens/vesamenu.c32
3  menu title Ubuntu setup
4  label ubuntu-13.10-server-amd64
5          menu label ubuntu-13.10-server-amd64
6          kernel
7          append netboot=nfs initrd=install/initrd.gz nfsroot=↵
   exports/ubuntu-13.10-server-amd64 ip=dhcp rw
  • is the IP of the server I use for DHCP, DNS and NFS,
  • I got the kernel by running uname -r,
  • showmount -e gives:

    Export list for

    The directory contains the contents of the original ubuntu-13.10-server-amd64 image.

When booting from PXE, I get the original screen (see screenshots below), then another one. Pressing Tab shows the command: netboot=nfs initrd=install/initrd.gz nfsroot=192.168.1.↵ 75:/exports/ubuntu-13.10-server-amd64 ip=dhcp rw

Pressing Enter does nothing.

I imagine there is something wrong with my changes of pxelinux.cfg/default.

What's wrong with it?

Is there a comprehensive documentation of the options to set?

Are there logs which can help understanding what is wrong?

enter image description here

enter image description here

share|improve this question
Consider using Alt+F1, Alt+F2, .... Alt+F7 to view any available tty consoles. On a centos pxe install that works, I'm guessing it's a pxelinux feature that you can also use here to slightly debug what's happening – Hamy May 19 '14 at 18:36
up vote 1 down vote accepted

It sounds like your kernel and init are not loading (hence the hang). Are you sure your paths are correct? Also, check your filenames -- I'm not sure where you got, my 14.04 server DVD netboot kernel is a file called "linux".

This line:

6          kernel

Implies that a file called exists in the root of your TFTP server, e.g. something like \tftpboot\ or \var\lib\tftp\ Let's call this TFTPROOT. Similarly for install/initrd.gz - is there a file TFTPROOT/install/initrd.gz?

Your path on line 2 (default ubuntu-installer/amd64/boot-screens/vesamenu.c32) implies that you've copied the contents of DVDISO/install/netboot into your TFTP server root. E.g. you've likely got a folder called TFTPROOT/ubuntu-installer. However, the proper kernel and init file for netboot are(for me) contained in DVDISO/install/netboot/ubuntu-installer/amd64. So your paths should be kernel ubuntu-installer/amd64/linux and append initrd=ubuntu-installer/amd64/initrd.gz ...

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.