Skip to content
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

Open
matthewbauer opened this issue Aug 26, 2020 · 2 comments
Open

RPI4 netboot support #119

matthewbauer opened this issue Aug 26, 2020 · 2 comments

Comments

@matthewbauer
Copy link

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:

  • If <apiserver-prefix>/v1/boot/<mac-addr> is non-200, then Pixiecore will try <apiserver-prefix>/v1/boot with a POST JSON that looks like:
{
  "arch": "aarch64",
  "mac": "...",
}
@taemon1337
Copy link

I am actually trying to do the same so am very interested as well

@euank
Copy link

euank commented Oct 5, 2020

I gave this a try, but I couldn't get it to work.

I flashed my eeprom to pieeprom-2020-09-03.bin and configured it to network boot.
pixiecore sees dhcp requests and responds to them, but the raspberry pi pxe implementation never tries to make a pxe or tftp request. It eventually gives the cryptic "NETBOOT init failed" and gives up after a few retries.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants