7 ms·
Or you can use the u-boot bootloader[1], and boot a kernel and root filesystem from TFTP, right? [1]http://www.denx.de/wiki/U-Boot http://www.denx.de/wiki/U-Boo
by sjuut 9y ago
Or you can use the u-boot bootloader[1], and boot a kernel and root filesystem from TFTP, right?
[1]http://www.denx.de/wiki/U-Boot http://www.denx.de/wiki/U-Boot
- jimmies 9y agoFor any problem, there is always someone who could come up with a brilliant solution and makes me feel like a dummy. That is a great idea I haven't thought of! PS: Upon further inspection, PXE netbooting is already possible on the 3B under the name of "USB booting," it's just not the default in the hardware, and there might be bugs that are fixed in the new version.
- kingosticks 9y agoBut remember you can always put the very latest bugfixed version of bootcode.bin standalone on an SD card and use that instead of the version in your Pi's bootrom. This also works for older models (Pi/Pi2) that don't have PXE support in their bootrom.
- floatboth 9y agoEven with the new bootcode.bin, Pi 3 firmware netbooting has been extremely unreliable for me. And at this point, if you already use an SD card for the bootcode, might as well put the whole U-Boot onto the card (which I did)
- contingencies 9y agoAnother possible approach would be to use the Linux kernel's ability to load another kernel and hand it control. Unsure if this works on arm64 but it seems likely. https://linux.die.net/man/8/kexec https://linux.die.net/man/8/kexec
- makomk 9y agoThat's generally how it's done on non-Pi boards (some of which even have onboard SPI flash that's large enough to hold u-boot). This has the advantage that the PXE code can be upgraded in the field, which is kind of important given how complex and buggy it is.