How to configure pxelinux.cfg/default properly in order to install Ubuntu from network?

25,650

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:

6          kernel 3.11.0.18-generic

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 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:
25,650

Related videos on Youtube

Arseni Mourzenko
Author by

Arseni Mourzenko

Updated on September 18, 2022

Comments

  • Arseni Mourzenko
    Arseni Mourzenko over 1 year

    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 running uname -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?

    enter image description here

    enter image description here

    • Hamy
      Hamy about 10 years
      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