3

I set up a PXE server which hosts both Ubuntu Desktop and Ubuntu Server.

  • Ubuntu Desktop is installed successfully from PXE.

  • Ubuntu Server seems to successfully load vmlinuz and initrd.gz, asks for the language, then the location, then the keyboard layout, and finally complains that it can't mount the CD-ROM:

Your installation CD-ROM couldn't be mounted. This probably means that the CD-ROM was not in the drive. If so you can insert it and try again. Retry mounting the CD-ROM? (Yes) (No)

The content of /var/lib/tftpboot/pxelinux.cfg/default is the following:

default ubuntu-installer/amd64/boot-screens/vesamenu.c32
menu title Ubuntu setup
label ubuntu-14.04-desktop-amd64
    menu label ubuntu-14.04-desktop-amd64
    kernel ubuntu-14.04-desktop-amd64/vmlinuz.efi
    append initrd=ubuntu-14.04-desktop-amd64/initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.1.41:/exports/ubuntu-14.04-desktop-amd64 splash --
label ubuntu-14.04-server-amd64
    menu label ubuntu-14.04-server-amd64
    kernel ubuntu-14.04-server-amd64/vmlinuz
    append initrd=ubuntu-14.04-server-amd64/initrd.gz root=/dev/nfs boot=install netboot=nfs nfsroot=192.168.1.41:/exports/ubuntu-14.04-server-amd64 splash --

What explains the fact that it requests the CD-ROM and how to avoid it?

Arseni Mourzenko
  • 4,582
  • 5
  • 20
  • 34

2 Answers2

2

I had the same problem trying to PXE boot the 14.04 server-amd64 disc. I finally noticed I had used the wrong initrd.gz. Make sure you are using the one from /install/netboot/ubuntu-installer/amd64 on the disc. The filesize for mine (14.04, not 14.04.1) is: 21256771.

Here is my pxeconfig entry:
   LABEL Ubuntu 14.04 Server amd64
        kernel http://172.20.1.9/tftpboot/Ubuntu/14.04/server-amd64/vmlinuz
        append boot=casper netboot=nfs nfsroot=172.20.1.9:/images/Ubuntu/14.04/server-amd64/ initrd=http://172.20.1.9/tftpboot/Ubuntu/14.04/server-amd64/initrd.gz ip=dhcp --
        MENU LABEL Ubuntu 14.04 Server amd64
        TEXT HELP
    Ubuntu Server 14.04 amd64 with NFS root
    ENDTEXT
James
  • 36
1

The server version needs a different append

i.e.

append   = initrd=NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/amd64/initrd.gz vga=788 mirror/country=manual mirror/http/hostname=$IP_BSRV$ mirror/http/directory=/$HEAD_DIR$ mirror/http/proxy=""

Note: this append is taken from Serva, you should customize it to your particular directory structure, also consider it uses HTTP instead of NFS.

Pat
  • 113