Skip to content

Commit bd99aaa

Browse files
committed
Update rpi5 article with changes from Ivan
1 parent a8fcf6a commit bd99aaa

File tree

1 file changed

+121
-25
lines changed

1 file changed

+121
-25
lines changed

_posts/2025/2025-11-04-raspberrypi5-opensuse.md

Lines changed: 121 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22

3-
author: Lubos Kocman
4-
date: 2025-11-18 07:00:00+02:00
3+
author: Ivan Ivanov
4+
date: 2025-11-04 07:00:00+02:00
55
layout: post
66
image: /wp-content/uploads/2025/11/rpi5.png
77
license: CC-BY-SA-3.0
@@ -22,29 +22,112 @@ tags:
2222

2323
---
2424

25-
SUSE delivers Raspberry Pi 5 U-Boot support
25+
# SUSE delivers Raspberry Pi 5 support
2626

27-
It is finally happening. Raspberry Pi 5 users can now look forward to proper **U-Boot support**, thanks to the hard work of the SUSE Hardware Enablement team.
27+
It is finally happening. [Raspberry Pi 5](https://en.opensuse.org/HCL:Raspberry_Pi5) users can now look forward to proper
28+
support in openSUSE Tumbleweed.
2829

29-
Many Raspberry Pi 5 users have been [eagerly waiting](https://forums.opensuse.org/t/booting-microos-on-raspberry-pi-5-sd-card/171805) for upstream U-Boot support for their boards.
30+
This is thanks to the hard work of many parties like SUSE Hardware Enablement team,
31+
RaspberryPi, [Ideas on Board](https://ideasonboard.com/), [Linaro](https://www.linaro.org/), and many other engineers, along with Linux
32+
and [U-Boot](https://u-boot.org/) subsystem maintainers who were patient enough to review our patches.
3033

31-
We are happy to share that the SUSE Hardware Enablement team has made great progress on this front.
34+
I am sure many are wondering why it is taking so long to enable Raspberry Pi 5-based
35+
devices to work on anything other than Raspberry Pi OS.
3236

33-
**Ivan Ivanov**, who did the [initial U-Boot work for the Pi 5](https://lore.kernel.org/all/[email protected]/), teamed up with **Matthias Brugger** and the rest of the team to move things forward.
37+
## About the boot process
3438

35-
We would also like to highlight the ongoing efforts from **Andrea della Porta** and **Stanimir Varbanov**, who are doing amazing work upstreaming various device drivers.
39+
First, let's highlight the simplified OS-level boot architecture differences.
3640

37-
Once PCIe support lands, users will be able to boot via USB too. That means the same convenient self-install images you already know from [MicroOS](https://get.opensuse.org/microos), and other specialised images will just work on the Raspberry Pi 5. This work is currently being led by SUSE’s **Torsten Duwe**.
41+
In Raspberry Pi OS, firmware located in the device's EEPROM directly runs the
42+
vendor-developed Linux kernel.
3843

39-
## About the boot process
44+
In openSUSE, we use GRUB2. However, GRUB2 itself requires the machine to have UEFI
45+
firmware interfaces to be able to locate boot artifacts. Therefore, openSUSE uses
46+
the popular [Das U-Boot](https://u-boot.org/) bootloader to provide these interfaces.
47+
48+
This software combination works fine for (open)SUSE products. But this means we
49+
have had to add the missing RPi 5 features to U-Boot and the Linux kernel.
50+
51+
## New RPi 5 hardware enhancements
52+
53+
Now, on the hardware side, there are some significant differences between the
54+
RPi 5 and all previous generations of devices.
55+
56+
Before the RPi 5, all controllers (like USB, Ethernet, SPI, I2C, GPIO, CSI, and so on)
57+
were part of the main SoC (BCM2835, BCM2836, BCM2835, BCM2710, BCM2711) and
58+
were more or less the same across different generations of these SoCs. Adding
59+
support for them in U-Boot and Linux was more or less straightforward.
60+
61+
On the RPi 5, things changed significantly. There is a new "south bridge" chip,
62+
the RP1, which contains all of the above controllers. The RP1 is connected to
63+
the main SoC (BCM2712) via a PCIe bus.
64+
65+
Fortunately, one thing has remained the same: The MicroSD card controller is
66+
still part of the main SoC. So, besides a few small differences in the SD
67+
controller's internals, adding support for it to U-Boot and the Linux kernel
68+
was relatively easy.
69+
70+
[Initial U-Boot support for bcm2712 SD controller](https://lore.kernel.org/u-boot/[email protected]/)
71+
72+
This led people to [**think**](https://forums.opensuse.org/t/booting-microos-on-raspberry-pi-5-sd-card/171805)
73+
that openSUSE was ready to run on this device.
74+
75+
But this was just the beginning of a long journey.
76+
77+
Let's go back to PCIe. Older RPi's also have a PCIe root complex, but the
78+
RPi 5's is a little bit different. So, for U-Boot or Linux to be able to access
79+
all of the interesting controllers devices, we had to add support for it in U-Boot and
80+
the Linux kernel. This was done by this patch set:
81+
82+
[Add PCIe support for bcm2712](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
83+
84+
There are a few other important pieces that landed in the Linux kernel:
85+
86+
* [Add support for new MSI-X Interrupt Peripheral](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
87+
88+
* [Add support for pin control driver for BCM2712 SoC](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
89+
90+
* [Add support for clocks provided by RP1](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
91+
92+
* [Implement RaspberryPi RP1 gpio support](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
93+
94+
After the PCI Express driver was working and Linux could see devices attached
95+
to the PCIe root complex, we had to port the driver that handles the new RP1
96+
chip, behind which are the USB, Ethernet, and so on... This became a difficult
97+
task because many people had different views on how this should be implemented.
98+
But in the end, we got it merged:
4099

41-
While server class machines usually rely on UEFI (edk2), smaller devices like the Raspberry Pi use U-Boot. Interestingly, the official Raspberry Pi OS does not use any bootloader at all, so it does not participate in U-Boot development.
100+
[Add support for RaspberryPi RP1 PCI device](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
101+
102+
Now Linux was able to see devices that were attached behind the RP1 chip.
103+
Of course, these controllers (Ethernet, for example) were a little bit different
104+
than those on the BCM2711, so a new set of patches was required:
105+
106+
[Add support for Raspberry Pi RP1 ethernet controller](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
107+
108+
Of course, there were many more patches required to make this device usable.
109+
A really, really short list of them can be found below.
110+
111+
Currently openSUSE Tumbleweed is booting fine from SD card up to the graphical
112+
Desktop Environment using HDMI output.
113+
114+
What you should expect to be working once booted into Tumbleweed:
115+
116+
* Ethernet
117+
* WiFi
118+
* Bluetooth
119+
* USB
120+
* HDMI
121+
* ...
42122

43123
## Before you start
44124

45-
Before diving into your openSUSE on Raspberry Pi 5 adventure, make sure your device has the latest EEPROM update.
125+
Before diving into your openSUSE on Raspberry Pi 5 adventure, make sure your
126+
device has the latest EEPROM update.
46127

47-
If you just received your Pi 5 without any system on it, you can prepare a MicroSD card with the EEPROM updater using Raspberry Pi Imager, or simply run the following commands from an existing image on your Pi 5:
128+
If you just received your Pi 5 without any system on it, you can prepare
129+
a MicroSD card with the EEPROM updater using Raspberry Pi Imager, or simply
130+
run the following commands from an existing image on your Pi 5:
48131

49132
```
50133
sudo rpi-eeprom-update -a
@@ -53,18 +136,35 @@ sudo reboot
53136

54137
## Do not skip the Debug Probe
55138

56-
If your Pi 5 seems to hang at the U-Boot stage when testing images, you are not alone. This is a known issue being tracked under [boo#1250991](https://bugzilla.opensuse.org/show_bug.cgi?id=1250991).
139+
If your RPi 5 seems to hang at the U-Boot stage when testing images, you are
140+
not alone. This is a known issue being tracked under:
141+
142+
[boo#1251192](https://bugzilla.opensuse.org/show_bug.cgi?id=1250991).
143+
144+
This is a **temporary workaround**, and the issue is expected to be resolved soon.
145+
146+
Using the Debug Probe will save you a lot of time and frustration while
147+
experimenting with openSUSE on your RPi 5. It is also a handy tool to keep
148+
around for future embedded projects.
57149

58-
For now, users should use a **[Raspberry Pi Debug Probe](https://www.amazon.com/Raspberry-Pi-Debug-Probe/dp/B0C36HXMCB)** (around **10 EUR**) to access the serial console and get past the U-Boot stage. This is a **temporary workaround**, and the issue is expected to be resolved soon as PCIe and related fixes are completed upstream.
150+
## Really short list of RPi 5 related patches.
59151

60-
Using the Debug Probe will save you a lot of time and frustration while experimenting with openSUSE on your Pi 5. It is also a handy tool to keep around for future embedded projects.
152+
* [Add DRM HDMI Codec framework](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
153+
154+
* [Add support for BCM2712 HVS](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
155+
156+
* [Add support for BCM2712 / Pi5 display hardware](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
157+
158+
* [Add watchdog support for BCM2712](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
159+
160+
* [Add Raspberry Pi's RP1 ADC](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
61161

62162
## What images should I try
63163

64-
You can now run most Raspberry Pi 4 compatible [Tumbleweed appliance images](https://download.opensuse.org/ports/aarch64/tumbleweed/appliances/) or **MicroOS** if you prefer the immutable variant on your Raspberry Pi 5. Leap and Leap Micro are currently out of scope for the effort, but are expected to gain full support in their next releases (16.1 and 6.3 released in late 2026).
164+
You can now run most Raspberry Pi 4 compatible [Tumbleweed appliance images](https://download.opensuse.org/ports/aarch64/tumbleweed/appliances/) or **MicroOS** if you prefer the immutable variant on your Raspberry Pi 5.
165+
openSUSE Leap and Leap Micro are currently out of scope for the effort, but are expected to gain full support in their next releases (16.1 and 6.3 released in late 2026).
65166

66167
Before you begin, make sure that you have the **Debug Probe** connected.
67-
68168
Then write one of the Raspberry Pi images from
69169
[openSUSE Tumbleweed appliances](https://download.opensuse.org/ports/aarch64/tumbleweed/appliances/) to your microSD card, and you should be ready to go.
70170

@@ -74,11 +174,7 @@ If you can’t decide which image to start with, the [Tumblweed Arm GNOME image
74174
xzcat image.aarch64.raw.xz | dd of=/dev/sda bs=1M status=progress conv=fsync; sync
75175
```
76176

77-
You can also explore additional community and experimental images in
78-
[devel:ARM:Factory:Contrib:RPi5 project](https://build.opensuse.org/project/show/devel:ARM:Factory:Contrib:RPi5).
79-
80-
If you run into any issues, we highly recommend reaching out on the [openSUSE Arm matrix channel](https://matrix.to/#/#arm:opensuse.org) or [subscribing](https://lists.opensuse.org/manage/lists/arm.lists.opensuse.org/) to the [openSUSE Arm mailing list](https://lists.opensuse.org/archives/list/[email protected]). Alternatively, you’re welcome to use [forums.opensuse.org](https://forums.opensuse.org/) for general openSUSE-related questions.
81-
177+
If you run into any issues, we highly recommend reaching out on the [openSUSE Arm matrix channel](https://matrix.to/#/#arm:opensuse.org) or [subscribing](https://lists.opensuse.org/manage/lists/arm.lists.opensuse.org/) to the [openSUSE Arm mailing list](https://lists.opensuse.org/archives/list/[email protected]). Alternatively, you’re welcome to use [forums.opensuse.org](https://forums.opensuse.org/) for general openSUSE questions.
82178
For general ARM information, visit the [openSUSE ARM Portal](https://en.opensuse.org/Portal:Arm).
83179

84180
## Why run openSUSE on your RPi 5
@@ -89,17 +185,17 @@ With SUSE’s hardware enablement work, you can now get the **full openSUSE expe
89185

90186
## Time to celebrate
91187

92-
![rpi5winner](/wp-content/uploads/2025/11/rpi5winner.png)
188+
![rpi5winner](/wp-content/uploads/2025/11/rpi5winner.jpg)
93189

94190
To celebrate the hard work of the SUSE Hardware Enablement team, we have sent Raspberry Pi 5 starter kits and Debug Probes to our friends **Dale from [LowTechLinux](https://www.youtube.com/c/LowTechLinux)** and **Liam from [The Register](https://www.theregister.com/)** to share their first impressions with the community.
95191

96192
We also brought a smile to the face of **Tomáš**, one of last weekend’s [openALT.cz](http://openalt.cz/) attendees, who won a Raspberry Pi 5 and Debug Probe in our [openSUSE Quiz](https://quiz.opensuse.org/).
97193
The quiz application, widely used by the openSUSE Booth crew around the world, now features an “openSUSE Arm” section that helps participants learn more about openSUSE’s [Arm efforts](https://en.opensuse.org/Portal:Arm).
98194

99195
Stay tuned and keep watching our [Raspberry Pi 5 Hardware Compatibility page](https://en.opensuse.org/HCL:Raspberry_Pi5).
100-
101196
We will share more updates once USB boot and PCIe are fully functional on the Raspberry Pi 5.
102197

198+
103199
<meta name="openSUSE, Tumbleweed, rolling release, kernel, SUSE, arm" content="HTML,CSS,XML,JavaScript">
104200

105201

0 commit comments

Comments
 (0)