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

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 http://10.1.1.2/trusty-server-amd64/install/filesystem.squashfs

where 10.1.1.2 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?

 

Comments

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

  1. AtuM

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

    1. TriMike

      Hi,

      The link that pointed me to the necessary preseed configuration was http://irclogs.ubuntu.com/2012/08/03/%23ubuntu-installer.html

      Regards.

  2. abhay

    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.

    1. Kurt Engle

      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. Steve Mah

    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. AL Rachels

    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. Dave

    Holy cow…I’ve been banging my head on this on and off for a while now. THANK YOU!

  7. Larry P

    thank you!

    I’m ashamed to admit how much time I wasted on this!

  8. Bret

    Awesome posts. Using razor-server provisioning and having found this saved me a ton of time.

  9. Scott

    +1; I needed this for razor-server too. Thanks!

  10. Jason

    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?

  11. Alex

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

    -Alex

  12. Scott

    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.

    1. Scott

      Here’s that line again, looks like the line was pruned:
      d-i live-installer/net-image string \

    2. Scott

      d-i live-installer/net-image string <%= repo_file(“install/filesystem.squashfs”) %>

      1. Scott

        Correction:
        d-i live-installer/net-image string >%= repo_url(“install/filesystem.squashfs”) %>

  13. where is preesed file location ? can you explain me ..

  14. zhenxing1114

    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.

  15. zhenxing1114

    I encounter the same problem today. Then I append “d-i live-installer/net-image string http://192.168.0.1/ubuntu/install/filesystem.squashfs” 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.

    1. Scott

      These comments are getting Razor-specific, but the repo is hosted at /svc/repo, so you’d want: http://192.168.0.1/svc/repo/ubuntu/install/filesystem.squashfs

      The generic of that (which includes /svc/repo and the Razor server URL) was:

      d-i live-installer/net-image string <%= repo_url(“install/filesystem.squashfs”) %>

  16. Chakri

    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
    live-installer/net-image=http://192.168.2.x/images/ubuntu-14.04-DVD/install/filesystem.squashfs

    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
    Chakri

  17. chris c

    thank you you saved me i was pulling all the hair out of my heed

  18. Tom

    Holy cow,
    You sir have saved me a pile of grief!! Thank you!!!!!

  19. Nico

    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.

  20. Sergio

    Thanks for posting this !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  21. shun

    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…

  22. Anuradha

    Excellent. Thank you. It is helpful. I could not this tip anywahere. It worked as you said for 12.10 and 14.04.
    d-i live-installer/net-image string http://10.1.1.2/trusty-server-amd64/install/filesystem.squashfs

  23. cesar

    good work!!! thanks

  24. Jigar

    It would be better if information on what particular steps to follow to preseed were mentioned.

  25. […] ubuntu-server.seed文件也是安装系统的默认配置文件。在ubuntu系统的安装中,ks.cfg文件部分配置不会读取而是从这个文件里面读取。特别是在安装Ubuntu12.10及以后的版本时,这个文件尤为重要。[2]在Ubuntu12.10后增加了一个文件系统的预配置文件“filesystem.squashfs”,其文件在镜像中的“/install/filesystem.squashfs”,在通过网络安装系统的时候需要指定这个默认文件系统。否则系统会安装出错。 […]

  26. Chris

    What a great lifesaver! Really worked on my PXE server, thanks!

  27. […] I am unsure whether this is a bug with 16.04 as the same preseed file worked wonderfully well with Ubuntu 14.04. I also followed the following URL to overcome this error faced by many on Ubuntu 14.04 however this did not resolve the issue for 16.04. URL: http://www.michaelm.info/blog/?p=1378 […]

  28. sm

    thanks for the valuable information, I’ve been looking for this since 14.04 was released!

  29. Thom Yorke

    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!

  30. open2yb

    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 to Alex Cancel reply

Your email address will not be published. Required fields are marked *

Bear