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 3.11.0.18-generic
7 append netboot=nfs initrd=install/initrd.gz nfsroot=192.168.1.75:/↵
exports/ubuntu-13.10-server-amd64 ip=dhcp rw
- 192.168.1.75 is the IP of the server I use for DHCP, DNS and NFS,
- I got the kernel
3.11.0.18-generic
by runninguname -r
, showmount -e 192.168.1.75
gives:Export list for 192.168.1.75:
/exports/ubuntu-13.10-server-amd64 192.168.1.0/24
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:
3.11.0.18-generic 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?
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 3.11.0.18-generic, my 14.04 server DVD netboot kernel is a file called "linux".
This line:
Implies that a file called
3.11.0.18-generic
exists in the root of your TFTP server, e.g. something like\tftpboot\3.11.0.18-generic
or\var\lib\tftp\3.11.0.18-generic
. Let's call this TFTPROOT. Similarly forinstall/initrd.gz
- is there a fileTFTPROOT/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 calledTFTPROOT/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 bekernel ubuntu-installer/amd64/linux
andappend initrd=ubuntu-installer/amd64/initrd.gz ...
I had that problem, and could hit enter after changing file permission for kernel and inird.
Try with setting
chmod 777 3.11.0.18-generic