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

Adding Raspberry Pi 5 support #1673

Open
max06 opened this issue Jan 15, 2025 · 4 comments
Open

Adding Raspberry Pi 5 support #1673

max06 opened this issue Jan 15, 2025 · 4 comments

Comments

@max06
Copy link

max06 commented Jan 15, 2025

Good evening,

with the recent announcement of the Raspberry Pi 5 with 16GB ram, it gets more and more interesting for various scenarios, from small energy efficient homelabs to dev-clusters to business iot-usecases.

I took the chance and got my hands on my first Pi ever. Or 4 of them, sitting now in my closet, waiting for their kubernetes deployment.

Your instructions are great. Image built with no issues. I copied it over to the first Pi and wrote it to its nvme disk. Sadly it won't boot.

Some investigation later it looks like the built image doesn't contain the firmware files for the Pi 5. I tried frankensteining the boot files from the image as well as a running rpi os, without success. Anthropics LLM was actually very useful figuring out which files needed to be copied at first. Then it went south, tried compiling some u-boot stuff before it left me alone due to running out of quota.

Or in other words: I have no idea what I'm doing here.

It would be great if you could either update the package? that contains the firmware files or provide hints what I can do to get this to work. I'll happily write some documentation for it once it flies!

Thanks a lot!

@kkaempf
Copy link
Contributor

kkaempf commented Jan 16, 2025

Complain to Raspberry Pi (the company), they haven't upstreamed their kernel changes required for RPi 5 yet 😉

SUSE engineering helps to fix the situation but assembling all the necessary pieces takes time.

afaik there's a Tumbleweed build for RPi 5 which could be used to build a respective image

@max06
Copy link
Author

max06 commented Jan 16, 2025

That sounds awful :(

It might be a bit off-topic: Can you mix elemental-clusters in rancher? Like worker nodes with regular elemental os, and control nodes with rpi os+k3s?

@kkaempf
Copy link
Contributor

kkaempf commented Jan 16, 2025

Mixing nodes with different operating systems but equal Kubernetes versions should work.

@max06
Copy link
Author

max06 commented Jan 17, 2025

I spent the last 2 days learning about the Pi 5s boot mechanics and building a custom elemental distribution on top of the original raspberry pi os. It builds, I even get a disk image that "looks" correct. My next task would be compiling u-boot since there's no pre-built package new enough to have support for the pi 5.

It definitely sounds like an interesting task to do, but I lack the tools required for testing and debugging this. Also there's a new one-shot flag for the bootloader called tryboot in the pi 5 that could be used to build a nice a-b-deployment feature, rendering u-boot obsolete.

Which leads me to questions:

  • I'd be happy to contribute my current results as another example to the toolkit repo, maybe as purple-pi - if you like?
  • Does it make sense to extend the toolkit with additional modules replacing the grub*-modules to support tryboot?
  • Is this a lost cause and I should better get my money for the Pis back? 😅

My next task will be reading about unmanaged os in elemental, to get that kubernetes cluster up and running, before I get insane. Anyways, thanks so far!

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

No branches or pull requests

2 participants