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

RPi5 is unable to boot #23

Open
samip5 opened this issue Oct 3, 2024 · 27 comments
Open

RPi5 is unable to boot #23

samip5 opened this issue Oct 3, 2024 · 27 comments

Comments

@samip5
Copy link

samip5 commented Oct 3, 2024

Trying to boot Talos 1.8.0 with RPi5, results in just a mostly black screen with the u-boot logo on top right.

U-Boot UART:

U-Boot 2024.10 (Jan 18 2025 - 20:09:09 +0000)

DRAM:  1016 MiB (effective 8 GiB)
RPI 5 Model B (0xd04170)
Core:  22 devices, 11 uclasses, devicetree: board
MMC:   mmc@fff000: 0
Loading Environment from FAT... Card did not respond to voltage select! : -110
** Bad device specification mmc 0 **
In:    serial,usbkbd
Out:   serial,vidconsole
Err:   serial,vidconsole
mbox: Header response code invalid
bcm2835: Could not query MAC address
Net:   No ethernet found.

starting USB...
No USB controllers found
Hit any key to stop autoboot:  0 
Card did not respond to voltage select! : -110
No EFI system partition
No EFI system partition
Failed to persist EFI variables
Card did not respond to voltage select! : -110
No USB controllers found
No ethernet found.
No ethernet found.

IMG_0597

NOTE: I did try to use the UEFI loader for Pi5, and that is able to boot until it appears to lack network driver in kernel so it cannot properly boot even if we get into Talos.

@smira
Copy link
Member

smira commented Oct 3, 2024

There's no support for RPi5, and RPi5 is only supported with more recent Linux than the LTS 6.6. we're currently using

@samip5
Copy link
Author

samip5 commented Oct 4, 2024

RPi5 is only supported with more recent Linux than the LTS 6.6

Not entirely correct, as mainline kernel lacks ethernet support on RPi5 due to the way it's handled there (RP1 chip is responsible for it, https://www.raspberrypi.com/news/rp1-the-silicon-controlling-raspberry-pi-5-i-o-designed-here-at-raspberry-pi/), so it can bare minimally boot on newer kernel, but that's pretty much it at the moment.

@mooneydude
Copy link

mooneydude commented Nov 5, 2024

Hi @samip5 any progress with maybe a uboot patch? It seems you are correct and
head Makefile -n 4 on my RP5 running OS LTE 64 returns

VERSION = 6
PATCHLEVEL = 6
SUBLEVEL = 51

and i see talos 1.8.2 is 6.6.58 so my thinking is how do I stop RP1 from handling ethernet via patch?

@samip5
Copy link
Author

samip5 commented Nov 5, 2024

Hi @samip5 any progress with maybe a uboot patch?

It would be best served to put uboot into the trash bin, and use systemd-boot instead for it.

and i see talos 1.8.2 is 6.6.58 so my thinking is how do I stop RP1 from handling ethernet via patch?

You don't. The Pi5 architecture makes that impossible and Raspberry Pi OS LITE uses different kernel than Talos does.

@mooneydude
Copy link

Hi @samip5 any progress with maybe a uboot patch?

It would be best served to put uboot into the trash bin, and use systemd-boot instead for it.

and i see talos 1.8.2 is 6.6.58 so my thinking is how do I stop RP1 from handling ethernet via patch?

You don't. The Pi5 architecture makes that impossible and Raspberry Pi OS LITE uses different kernel than Talos does.

I'm only using RPi OS Lite since i was able to install proxmox on it (link) but I want talos on bare metal. Were you able to achieve this via systemd-boot?

@samip5
Copy link
Author

samip5 commented Nov 5, 2024

Hi @samip5 any progress with maybe a uboot patch?

It would be best served to put uboot into the trash bin, and use systemd-boot instead for it.

and i see talos 1.8.2 is 6.6.58 so my thinking is how do I stop RP1 from handling ethernet via patch?

You don't. The Pi5 architecture makes that impossible and Raspberry Pi OS LITE uses different kernel than Talos does.

I'm only using RPi OS Lite since i was able to install proxmox on it (link) but I want talos on bare metal. Were you able to achieve this via systemd-boot?

Not yet, as haven't yet figured out the proper way to install UEFI loader first onto it. https://github.com/skyssolutions/talos-sbc-raspberrypi

@mooneydude
Copy link

Hi @samip5 any progress with maybe a uboot patch?

It would be best served to put uboot into the trash bin, and use systemd-boot instead for it.

and i see talos 1.8.2 is 6.6.58 so my thinking is how do I stop RP1 from handling ethernet via patch?

You don't. The Pi5 architecture makes that impossible and Raspberry Pi OS LITE uses different kernel than Talos does.

I'm only using RPi OS Lite since i was able to install proxmox on it (link) but I want talos on bare metal. Were you able to achieve this via systemd-boot?

Not yet, as haven't yet figured out the proper way to install UEFI loader first onto it. https://github.com/skyssolutions/talos-sbc-raspberrypi

Have you looked into
https://github.com/worproject/rpi5-uefi?tab=readme-ov-file#supported-peripherals-in-uefi

I thought about using an ethernet adapter (link) but still not sure how to install UEFI loader first. Maybe an overlay and somehow set "ip=:::::eth1:dhcp"

This is way outside my skill set and just thought i'd pass along.

@samip5
Copy link
Author

samip5 commented Nov 7, 2024

I have looked at that and that's precisely what I'm trying to use for it.

@RyandenOtter
Copy link

Any luck on this? I just got four Raspberry Pi 5s for Christmas, and I am dying to get a bare-metal Talos cluster running!

@samip5
Copy link
Author

samip5 commented Jan 10, 2025

Any luck on this? I just got four Raspberry Pi 5s for Christmas, and I am dying to get a bare-metal Talos cluster running!

NVME boot doesn't work, SD card boot works and the mainline kernel talos uses cannot use ethernet.

@brainplot
Copy link

Does Talos use only LTS kernel versions? Do we need to wait until the next LTS release is out for ethernet to work?

@smira
Copy link
Member

smira commented Jan 10, 2025

Does Talos use only LTS kernel versions? Do we need to wait until the next LTS release is out for ethernet to work?

Yes, but at the moment the latest LTS 6.12.x Linux kernel is the latest Linux kernel release available as well, fyi.

@samip5
Copy link
Author

samip5 commented Jan 10, 2025

Does Talos use only LTS kernel versions? Do we need to wait until the next LTS release is out for ethernet to work?

Will not work either. Support hasn't been upstreamed yet while work to do that is ongoing.
Have to use Raspberry Pi Foundation's kernel for the moment.

@Sense545
Copy link

I got UEFI + NVME boot to work, but when kernel boots loop driver is missing.
Used worproject/rpi5-uefi and the dtb file from raspberrypi's repo (did not use u-boot).

Got this error while booting talos:
mrecovered from: early boot failed: error mounting "/dev/loop0": error mounting: 1 error(s) occurred: no such device

Has anyone managed to build talos using official/patched raspberrypi linux kernel?
Have not tried to set up kernel build with extra talos required config myself yet..

@Cyclonit
Copy link

Hi,

I have three Raspberry Pi 5 to create a small bare metal k8s cluster. I'd love to use Talos from the start but I am struggling with understanding the current state of affairs. Obviously, there is no official support. Several people are trying to get Talos working on this hardware, with more or less success. I tried to follow what some others said, but couldn't make sense of it.

Given my setup as an example, could someone more knowledgeable explain if this is possible at all at the moment?

  • 3x Raspberry Pi 5
  • USB thumb drives as boot/os drive
  • NVMEs for additional storage
  • PoE for power
  • connected via Ethernet

@samip5
Copy link
Author

samip5 commented Jan 13, 2025

Hi,

I have three Raspberry Pi 5 to create a small bare metal k8s cluster. I'd love to use Talos from the start but I am struggling with understanding the current state of affairs. Obviously, there is no official support. Several people are trying to get Talos working on this hardware, with more or less success. I tried to follow what some others said, but couldn't make sense of it.

Given my setup as an example, could someone more knowledgeable explain if this is possible at all at the moment?

  • 3x Raspberry Pi 5
  • USB thumb drives as boot/os drive
  • NVMEs for additional storage
  • PoE for power
  • connected via Ethernet

For any of your peripherals to work:

  • Requires the use of Raspberry Pi Foundation kernel
  • nvme nor Ethernet are supported in mainline kernel

they are provided via the RP1 IO microcontroller which is not supported fully at the moment.

@nlindblo
Copy link

I also just bought 3x Raspberry Pi 5 with the GeeekPi M.2 NVMe, assuming I could join these to my existing Talos 1.9.0 cluster. I've spent the last day trying to figure out why I can't boot neither from sd card or the nvme and then I stumbled over this thread and realise it's not supported. I am now in 2 minds if I should make a return of the kit or wait, does anyone have an idea based on previous experience on how long to expect before the RB Pi 5 will get support, are we looking at weeks or months ?

@Sense545
Copy link

Sense545 commented Jan 14, 2025

I also plan on setting up 3 of them with NVMe.
I've put the project on hold for a bit, but I think the solution is to build a custom image with a custom Rasperry Pi kernel configured with some extra options that Talos needs.
There are some hints in this siderolabs/talos#7978, but I have not tried building the kernel myself yet.

@nlindblo
Copy link

I tried installing Ubuntu on one of them which booted fine on the nvme disk, perhaps running Talos in a kvm container could be a work around for the time being ?

@Cyclonit
Copy link

I will go with a simple Ubuntu 24.10 running Kubernetes for now. Once Talos supports the Pi 5, I'll simply migrate the nodes one by one. This should not be a problem when using Kubernetes, because it does not care about the underlying OS.

@samip5
Copy link
Author

samip5 commented Jan 14, 2025

are we looking at weeks or months ?

Months, possibly 6 months at least if you mean mainline kernel support.

@brainplot
Copy link

Looking at the past kernel LTS release schedule, I'd say we're looking at 9 to 11 months, assuming Talos strictly uses LTS releases.

Version Maintainer Released Projected EOL
6.12 Greg Kroah-Hartman & Sasha Levin 2024-11-17 Dec, 2026
6.6 Greg Kroah-Hartman & Sasha Levin 2023-10-29 Dec, 2026
6.1 Greg Kroah-Hartman & Sasha Levin 2022-12-11 Dec, 2027
5.15 Greg Kroah-Hartman & Sasha Levin 2021-10-31 Dec, 2026
5.10 Greg Kroah-Hartman & Sasha Levin 2020-12-13 Dec, 2026
5.4 Greg Kroah-Hartman & Sasha Levin 2019-11-24 Dec, 2025

Source: Active kernel releases

@samip5
Copy link
Author

samip5 commented Jan 15, 2025

@brainplot You're forgetting that full support has not landed in any version as of yet other than RPi Foundations own.

@brainplot
Copy link

brainplot commented Jan 15, 2025

@samip5 Yes, you're right. So that's also assuming full support will be merged by the next LTS release. If that were not to happen, I'm afraid we're going to have to wait even longer than that! - Still assuming you don't want to load your own kernel.

@samip5
Copy link
Author

samip5 commented Jan 18, 2025

Happy to report, we have a successful image.
Bult using Foundation kernel, and merging sideros kernel config on top.

Sources are in various repos under my Github org skyssolutions.

 NAMESPACE   TYPE   ID        VERSION   SIZE     READ ONLY   TRANSPORT   ROTATIONAL   WWID                                   MODEL
  runtime     Disk   loop0     1         58 MB    true                                                                                        
  runtime     Disk   mmcblk0   1         64 GB    false       mmc 
  runtime     Disk   nvme0n1   1         256 GB   false       nvme                     eui.00000000000000007c35485240f9b1d4   TS256GMTE300S

@samip5
Copy link
Author

samip5 commented Jan 18, 2025

There's a discussion about the whole kernel thing: siderolabs/overlays#77

@samip5
Copy link
Author

samip5 commented Jan 24, 2025

You can get a working image for RPi5 by doing the following:

docker run --rm -t -v  $PWD/_out:/out -v /dev:/dev --privileged ghcr.io/samip5/siderolabs/imager:v1.9.2-skylab.30 rpi_5 --arch arm64 --overlay-image ghcr.io/skyssolutions/sbc-raspberrypi:v1.9.2-skylab.34 --overlay-name=rpi_5

NOTE: The imager image being used here is arm64 only and you need to use that imager as it has the kernel inside it that's required.

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

8 participants