This is just a short post about an annoying issue I encountered today while updating my automated Ubuntu installer with Ubuntu 14.04 (Trusty Tahr). I have a PXE based network boot process to automatically install and configure Ubuntu server instances. The server to be installed will PXE boot and then get the installation files and preseed configuration file via HTTP. This worked well for prior LTS releases.  I don’t bother with automating non-LTS releases as their lifespan is far too short for “production” use.

I updated the install server with the new 14.04 server images (AMD64 and i386). I then updated my standard preseed configuration file with the new paths to 14.04 and set off a server installation. Unfortunately, not long into the installation process an error message was displayed. “Install the system” was the title of message and the error was “Installation step failed” “An installation step failed. You can try to run the failing item again from the menu, or skip it and choose something else. The failing step is: Install the system”.

Error during a netboot install of Ubuntu 14.04
Error during a netboot install of Ubuntu 14.04

Not terribly useful, if I say so myself. Looking at the installation log on VTY-4 (accessed via ALT-F4 on the console), I saw messages about “main menu: INFO: Menu item ‘live-installer’ selected'” followed by “base-installer: error: Could not find any live images”. Again, not very useful.

To cut a long story short, after much time using Google, I found the solution. The way base Ubuntu is installed seems to have changed with Ubuntu 12.10 (Quantal Quetzal). It seems that rather than installing individual packages initially, a base preconfigured file-system is deployed. This is now contained in a file called “filesystem.squashfs” which is located at “/install/filesystem.squashfs” on the installation media. It seems that when installing via the network (in some situations), you need to configure the preseed file to use this “default” filesystem from the network. This is done in your preseed file by adding the “d-i live-installer/net-image” option, such as in the following line:

d-i live-installer/net-image string

where is your network installation server and /trusty-server-amd64 is the location of the installation media on the network installation webserver.

Once that is in place, you’re good to go! As I said before, this is only necessary since Ubuntu 12.10. As a result, all of those upgrading our installations from 12.04 LTS to 14.04 LTS may need to be aware of this. There is surprisingly little reference to this on the Internet. Do not many people install over the network in isolated install networks?


37 thoughts on “Ubuntu 14.04 (Trusty Tahr) PXE Netboot woes – “d-i live-installer/net-image”

  1. Thank you! I’ve been searching for THIS info for toooo long. Could you post the site where you’ve found this info?

  2. I was about to pull my hair out while figuring out this.
    What I did was to use lubuntu alternative ISO (because they are the only ones who seems to provide it).
    Even for server Canonical doesn’t provide proper net-install images.

  3. Nope, not quite fixing my probelm, but I had a similar error message
    – I am setting up a Trusty server image on a VirtualBox VM, and I have a headless PXE boot system as well.

    But mine fails on writing the partition table to /dev/sda – I suspect a driver issue.

    • Were you able to solve your partitioning problem? I am trying to do an unattended install of 14.04 and the thing keeps failing at the partitioning stage. I am wanting to wipe out any current partitions and use the entire disk for an LVM partition. Nothing fancy. I just want it unattended.

  4. I’ve been looking for something like this since 12.10, I tried several different ways to get around not having the alternate ISO, but building a large mirror was not feasible for me.
    Good find! I’ll try your suggestion.

  5. I’ve been using Centos for years but wanted to try out Ubuntu’s server and wound up wasting 7 hours due to this problem. I tried every combination I could, AMD64, i386, minimal, network, etc. Everything failed at the same place mentioned by TriMike.

  6. How did you get it working with Razor? Razor doesn’t allow you to point directly to the server IP and get a directory listing, so what does your actual preseed file look like?

  7. @Bret @Scott
    What exactly did you do to get this working with razor-server?
    Do you mind sharing what you did?


  8. For me, it was adding this line to the preseed template:
    d-i live-installer/net-image string
    This will resolve to the repo’s location of the squashfs file.

  9. I encounter the same problem today. I have appended “d-i live-installer/net-image” line to the last line of the preseed files including cli.seed, cloud.seed, ubuntu-server.seed, ubuntu-server-minimal.seed and ubuntu-server-minimallvm.seed, which are located in /preseed on the ISO. But the problem still remains.
    Could you give me some suggestion?
    Thank you.

  10. I encounter the same problem today. Then I append “d-i live-installer/net-image string” to the last line in preseed files including ubuntu-server.seed, ubuntu-server-minimal.seed, ubuntu-server-minimalvm.seed, cli.seed and cloud.seed which are located in /preseed in the ISO media. But the problem still remains. I have googled a lot, but failed.
    Could you give me some suggestions? Thank you.

  11. Mike,
    First of all thank you for guiding us to the right direction. Along with your suggested modifications. I had to do the following, to resolve the issue.

    In the tftp default boot image, I had to add

    Here is the full label

    LABEL Ubuntu14_04
    kernel debian/linux
    append ks=http://192.168.2.x/kickstarts/trusty_ks.cfg vga=normal initrd=debian/initrd.gz live-installer/net-image=http://192.168.2.x/images/ubuntu-14.04-DVD/install/filesystem.squashfs ramdisk_size=16432 root=/dev/rd/0 rw —

    Thank you

  12. Thanks! I wasted a full day trying to get this working. As I didn’t have a previous setup I assumed I was doing something wrong somewhere. Sigh.

  13. After putting the aforementioned line in preseed.cfg, it came up with another error message: “base-installer: error: /tmp/live-installer/filesystem.squashfs has failed to be mounted as squashfs”. I have struggled with this error for several hours…

  14. Pingback: PXE无人值守网络安装Ubuntu14.04 | CodeMe

  15. Pingback: ubuntu 16.04 LTS fails with an error “ an installation error occured” while pxe booting - ubuntutextbook

  16. I’ve tried both ways of doing the pre-seeding, via including it int the preseed file and via including it in boot options, and it never seems to get loaded. Is there a way to check when and if it gets loaded other than waiting till the installation finishes and seeing that it wasn’t used ? I’ve been racking my brain as to why it’s not working for days. Please help!

  17. My guess, it start working =, when I reduced ram drive definition in default file.My string represents below:
    LABEL lin2x
    MENU LABEL Ubuntu 14.4.3 KS eth0
    KERNEL ubuntu-installer/14.04.3-s/linux
    APPEND nolapic nomodeset acpi=off initrd=ubuntu-installer/14.04.3-s/initrd.gz hostname=${HOST} live-installer/net-image=http://192.168.xx.xx/Ubuntu_14.04.3-s/install/filesystem.squashfs ks=http://192.168.xx.xx/Ubuntu_14.04.3-s/ks.cfg — quiet


Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>