2

I am trying to set up network booting of the Ubuntu mini.iso via iPXE and NFS. I'm currently stepping through everything via the iPXE command line instead of a script. I made sure to build iPXE w/ NFS enabled, and that seems to be working just fine because I can get to the initrd.gz just fine. But I cannot figure out how to tell iPXE what the kernel is; I assumed that the linux file would be the kernel, but when I try to tell iPXE to use that file it throws Exec format error (http://ipxe.org/2e008081).

To go in to more detail, here is how the system is set up:

  1. mini.iso is mounted on a QNAP TurboNAS as a shared folder, with guest access enabled over NFS
  2. New server PXE boots, chain-loads iPXE via TFTP
  3. I <Ctrl-B> in to the iPXE command line
  4. initrd nfs://guest@<nfs ip address>/Ubuntu1604Mini/initrd.gz works just fine
  5. kernel nfs://guest@<nfs ip address>/Ubuntu1604Mini/linux freaks out with above error

I'm having a hard time Googling this question because everything else seems to assume a non net-boot image so all of those instructions assume the presence of the casper directory and casper/vmlinuz but the mini.iso seems to have a very different structure.

Any help with this would be greatly appreciated! Thanks!

Edit

If it's relevant, all of the NFS guest access is read-only.

Edit 2:

It seems that this is actually a UEFI issue. I found in the documentation where the mini.iso isn't set up for booting in to UEFI environments. So I have switched to trying to get this to work via the Ubuntu 16.04 Server .ISO and I'm still having issues; from some cursory web searches it appears that the vmlinuz on Ubuntu 16.04 is not compiled with the EFI Stubs. I found the EFI/BOOT/BOOTx64.EFI file, but when I chainload this w/ iPXE it starts trying to find a Netbook image via TFTP so I'm not 100% sure what that's doing or what arguments I can pass it.

1 Answer 1

0

I had the same issue in a debian live booting on nfs. The ipxe documentation refers to the booting case with bios but not with efi, the solution, as you mention, is related to efi.

Add the parameter initrd=initrd_file_name to the imgargs line.

The source of this information is: http://forum.ipxe.org/showthread.php?tid=7522

Although I do not find it in the official documentation, but it works for me on efi.

You must log in to answer this question.

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