PXE Boot of Ubuntu Server 20.04 to ram from NFS share


I’ve been trying to work on the thing in the title here for a while now and i’m having a hard time at the last step. (not that i didn’t have a hard time at basically every other step honestly)

Things that I got done so far:

  • set up the dhcp server to give IP addresses to the computers looking to PXE boot
  • set up tftp to serve pxelinux.0 and pxelinux.cfg/default for pxe boot
  • set up nfs to serve the filesystem to boot from

The computer that I am trying to boot this way gets through all the way until it tries to boot from the nfs share and that is where I am now stuck.

with this line in pxelinux.cfg/default:
boot=nfs nfsroot= rw ip=dhcp
the computer boots fine with the nfs share as it’s root directory, but I want the computer to boot to ram. adding toram to this line doesn’t help. (i assume the nfs boot doesn’t have a toram option)

so instead i have been trying to use:
netboot=nfs nfsroot= ip=dhcp toram
where a file /nfs/casper holds the filesystem

when this gets to the point that it tries to boot from the nfs though, it fails saying “Unable to find a live file system on the network”

I assume that this is talking about the type of live file system that would normally be used by a bootable cd/usb, but i’m not 100% sure on that.

the filesystem that i am trying to boot from is a copy of an install from the ubuntu 20.04 server install iso, i think i need to make that into a live filesystem, but haven’t really been able to find any guides about how to do this that aren’t talking about making install media. and honestly at this point i’m just kind of lost on getting this done. so i’m asking here if anybody knows any places that might have a walkthrough of how to do this or know if i’m just doing something wrong.

Would you mind posting your pxelinux.cfg/default config? I am having similar issues and would love to have a look at someone else’s config and see what we can figure out.

After some research, I came across the solution to my part of the issue.

I was missing the .disk directory from my netboot/ubuntu folder. Once I got that directory put in place, it began working again.

Not sure if that will fix your issue as well, but though I would come back and post just in case you haven’t found a solution yet.