Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Net-booting an EFI image on an aarch64 server with iPXE script
2019-05-04, 02:21 (This post was last modified: 2019-05-04 02:39 by travislazar.)
Post: #9
RE: Net-booting an EFI image on an aarch64 server with iPXE script
Alright, I figured it out. Posting my findings here in case someone else stumbles across this in the future.

The main issue is that the linux files hosted in basically all of Ubuntu's builds (netboot, cd-rom, etc) are compressed, but iPXE doesn't have a compression tool built in. So, of course, iPXE doesn't recognize the linux image that I was downloading as a valid file type. I don't know if this is consistent across other Linux distros, that's on my test plan for next week.

The solution was simply to host an uncompressed version of the linux file on an HTTP server. Creating this file was as simple as:

Code:
wget http://path/to/linux
mv linux linux.gz
gunzip linux.gz

This created a linux file that iPXE could read and then the standard iPXE boot process worked as expected, Ubuntu installed, and all is well in the world.

I might recommend adding to the documented error message. I'm not an expert on the Linux boot flow and I found it confusing that the linux image wasn't explicit in its compression (i.e. with a .gz suffix), while the initrd.gz is (via a .gz suffix).

Thanks for reading and the responses that you gave. I really appreciate the work everyone is doing here.
I'll also throw in that bootnetaa64.efi expects local TFTP infrastructure to exist. I feel like a bit of a noob in missing that. I don't have access or the ability to create a TFTP server, so bootnetaa64.efi is a no go. It appears that the EFI file gets successfully executed by iPXE, but fails to get any files ... at all ... but it keeps charging ahead and drops execution flow onto grub. Except that grub has no files, because no files were retrieved by bootnetaa64.efi.

I'm also speculating that the mini.iso method worked because of, well, grub. I'm not confident on this, but it appears that grub CAN handle compressed linux files without fuss. So iPXE successfully sanboots the ISO and hands over flow control to grub, who (a) has access to all the grub files [unlike with the bootnetaa64.efi failure above]; and (b) can uncompress the linux image. So the ISO image works with the exact same images that fail in iPXE, because of grub. That's my guess, anyways.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Net-booting an EFI image on an aarch64 server with iPXE script - travislazar - 2019-05-04 02:21



User(s) browsing this thread: 1 Guest(s)