4

I image bare metal servers to CentOS 7 and 8 all of the the time via network DHCP/TFTP using UEFI options, from a CentOS 7 PXE server. I'm looking to also build Ubuntu 20.04 servers.

I've followed the docs, extracted vmlinuz and initrd from the casper dir of the Ubuntu ISO and just placed them at the base tftpboot dir. Things hum along, the ISO downloads to the client, after it enters BusyBox and fires up initramfs, it completes loading the ISO, but then stops at "Unable to find a live file system on the network". The thing is, I'm able to navigate and find the ISO on the client, and I'm even able to mount it and see that all of the contents are there.

I've used different ISOs (Ubuntu desktop, for example). I've verified sha sums of the ISO.

Here's the grub.cfg that I'm using, paring everything back to isolate the issue.

timeout=30
timeout_style=menu

menuentry 'Ubuntu 20.04.2' {
  linuxefi /vmlinuz ip=dhcp url=http://10.10.10.1/ubuntu-20.04.2-live-server-amd64.iso
  initrdefi /initrd
}

menuentry 'CentOS 7.8' {
  linuxefi /centos/images/pxeboot/vmlinuz ip=dhcp inst.repo=http://10.10.10.1:/centos
  initrdefi /centos/images/pxeboot/initrd.img
}

The CentOS install works just fine (/centos is the path to a dump of a CentOS ISO).

Is there anything I'm missing?

4 Answers 4

3

This is, unfortunately, a somewhat catch-all failure with multiple possible causes. The busybox shell that you are dropped into will allow you to view the casper.log file in the temporary ram filesystem. (Adding debug= to the APPEND line is supposed to turn on additional debugging info). This might shed some light on the problem.

Additionally, the log files on your tftp and http server will also let you know how far it got into requesting the various pieces that it needs.

One possibility (and the problem in my case) is that the vmlinuz and initrd files that you are serving should be the same ones from the .iso image that you are loading. (I updated the .iso to a new minor version and suddenly started running into this problem because I was using the kernel/initrd from the previous version)

mount -o loop,ro ubuntu-20.04.2-live-server-amd64.iso /mnt
cp /mnt/casper/initrd /mnt/casper/vmlinuz [destination]
umount /mnt
2
  • 1
    "I updated the .iso to a new minor version and suddenly started running into this problem because I was using the kernel/initrd from the previous version" - I ran into this as well. The behavior I see is that the ISO image is successfully mounted, but the boot immediately fails. Commented May 24, 2022 at 18:46
  • You are awesome! it works for me when I use ISO provided casper/vmlinuz and casper/initrd images.
    – Satish
    Commented Oct 24, 2023 at 3:47
0

I've gotten this to work with the following parameters in my default config:

LABEL Ubuntu 20 LTS
    MENU LABEL Install Ubuntu 20 LTS
    KERNEL ubuntu20/casper/vmlinuz # On PXE server, relative to TFTP Root
    INITRD ubuntu20/casper/initrd
    IPAPPEND 1
    APPEND autoinstall ip=dhcp interface=enp5s0 ds=nocloud-net;s=http://<mywebserver>/ubuntu2004/autoinstall/ucshadoop06/ url=http://<mywebserver>/ubuntu-20/liveserver-iso/ubuntu-20.04.1-live-server-amd64.iso

It works with and without the ds parameter. My current challenge is figuring out why the ds parameter does nothing. Let me know if you got any further.

0

Could be a missing .disk file as mentioned in this bug: https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1877618

When copying files for the PXE install, be sure to include hidden files: https://superuser.com/questions/61611/how-to-copy-with-cp-to-include-hidden-files-and-hidden-directories-and-their-con

By the way, this is the best article I found on setting up PXE install--I modified the instructions for Ubuntu 20.04, and had to make sure I copied over .disk (not mentioned in the article): https://linuxhint.com/pxe_boot_ubuntu_server

0

I wrote a tutorial on how to build LTSP for Ubuntu (this was back in 16.04, but should still work for new versions).

The client build probably failed, which is why your clients are failing to see this when booting from the PXE option, even though the ISO clearly exists.

2
  • This is essentially a link only answer. Please edit to include the relevant details and steps from the link. Commented Mar 1, 2022 at 22:19
  • 1
    While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From Review Commented Mar 1, 2022 at 22:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .