-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RPI4 netboot support #119
Comments
I am actually trying to do the same so am very interested as well |
I gave this a try, but I couldn't get it to work. I flashed my eeprom to What I ended up doing that worked for my case is slapping a UEFI implementation on my sdcard, booting that, and then using the uefi pxe implementation. In conjunction with #121, that worked fine! Shoutout to this blog post for suggesting that alternative method: https://www.virtuallyghetto.com/2020/07/two-methods-to-network-boot-raspberry-pi-4.html Anyway, I guess the short of it is I think there's an rpi-eeprom bug that gets in the way of trivially fixing this, even after adding arm64 support to the code. |
I think it's because pixiecore answers with the "sname" DHCP field for the TFTP server, but the Raspberrypi bootcode expects the "tftp-server-name" dhcp option 66 instead. In any case, raspberry boot requires more files served by TFTP than just kernel+intird, so pixiecore doesn't fit that piece either. |
The new Raspberry Pi 4 has support for PXE, but it looks like the format may be a little different than expected:
raspberrypi/rpi-eeprom#182
It's not full PXE (raspberrypi/rpi-eeprom#87 (comment)), but I think it's enough for pixiecore. We also have UBoot PXE firmware for Raspberry Pi that could be used on older Pis.
This will probably also require an API change so that we can handle different architectures. Perhaps something like this:
<apiserver-prefix>/v1/boot/<mac-addr>
is non-200, then Pixiecore will try<apiserver-prefix>/v1/boot
with a POST JSON that looks like:The text was updated successfully, but these errors were encountered: