On Tue, Mar 06, 2018 at 09:30:34PM +0100, Mark Kettenis wrote: > > Actually... No, this is not the issue. U-Boot has an implementation > > for the Network Subsystem, which means that you can read/write raw > > UDP packets. The implementation on arm64 makes use of a higher level > > TFTP implementation which proper EFI implementations provide. This > > can be seen on the OverDrive 1000. It provides an interface to "get > > files". This means the EFI layer does the actual TFTP protocol. > > > > u-boot does not provide this layer. If you need network boot support > > on u-boot based machines, you either need to implement this layer in > > u-boot, our you need to extend our arm64 bootloader to do raw network > > packets and the TFTP protocol. > > Ah you're right. U-Boot implements TFTP but it isn't exposed through > its EFI interface.
IIUC, on rpi3 you can boot either directly (bootcode.bin) after enabling it, or you use U-Boot. https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net.md So what's the flow? - first stage BL - bootcode.bin over tftp? - start.elf over tftp? - kernel.img -> symlink to bsd, over tftp? Jiri