Skip to content

Commit 9b42829

Browse files
authored
Merge pull request #459 from lkocman/rpi5ivan
Update rpi5 article with changes from Ivan
2 parents 9a0fdf7 + f3a841b commit 9b42829

File tree

1 file changed

+130
-24
lines changed

1 file changed

+130
-24
lines changed

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

Lines changed: 130 additions & 24 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 and Lubos Kocman
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,122 @@ 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+
**And it is not just about U-Boot, it is so much more.** This is thanks to the hard work of many parties like SUSE Hardware Enablement team,
31+
[RaspberryPi](https://www.raspberrypi.com/), [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 and many other engineers 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+
Many maybe wondering why it is taking so long to enable Raspberry Pi 5-based
35+
devices to work on anything other than Raspberry Pi OS; they no longer need to wonder.
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+
[Add minimal boot support for Raspberry Pi 5] (https://lore.kernel.org/linux-arm-kernel/[email protected]/)
73+
74+
This led people to [**think**](https://forums.opensuse.org/t/booting-microos-on-raspberry-pi-5-sd-card/171805)
75+
that openSUSE was ready to run on this device.
76+
77+
But this was just the beginning of a long journey.
78+
79+
Let's go back to PCIe. Older RPi's also have a PCIe root complex, but the
80+
RPi 5's is a little bit different. So, for U-Boot or Linux to be able to access
81+
all of the interesting controllers devices, we had to add support for it in U-Boot and
82+
the Linux kernel. This was done by this patch set:
83+
84+
[Add PCIe support for bcm2712](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
85+
86+
There are a few other important pieces that landed in the Linux kernel:
87+
88+
* [Add support for new MSI-X Interrupt Peripheral](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
89+
90+
* [Add support for pin control driver for BCM2712 SoC](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
91+
92+
* [Add support for clocks provided by RP1](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
93+
94+
* [Implement RaspberryPi RP1 gpio support](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
95+
96+
After the PCI Express driver was working and Linux could see devices attached
97+
to the PCIe root complex, we had to port the driver that handles the new RP1
98+
chip, behind which are the USB, Ethernet, and so on... This became a difficult
99+
task because many people had different views on how this should be implemented.
100+
But in the end, we got it merged:
101+
102+
[Add support for RaspberryPi RP1 PCI device](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
40103

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.
104+
Now Linux was able to see devices that were attached behind the RP1 chip.
105+
Of course, these controllers (Ethernet, for example) were a little bit different
106+
than those on the BCM2711, so a new set of patches was required:
107+
108+
[Add support for Raspberry Pi RP1 ethernet controller](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
109+
110+
Of course, there were many more patches required to make this device usable.
111+
A really, really short list of them can be found below.
112+
113+
Currently openSUSE Tumbleweed is booting fine from SD card up to the graphical
114+
Desktop Environment using HDMI output.
115+
116+
What you should expect to be working once booted into Tumbleweed:
117+
118+
* Ethernet
119+
* WiFi
120+
* Bluetooth
121+
* USB
122+
* HDMI
123+
* ...
124+
125+
## What is coming
126+
127+
Hopefully U-Boot will soon gain support for BCM2712 PCIe root complex
128+
controller. This will bring in ability device to boot from disk. Fixes
129+
for Ethernet controller are also on it is way.
130+
131+
[Improve Raspberry Pi 5 support](https://lore.kernel.org/u-boot/[email protected]/)
42132

43133
## Before you start
44134

45-
Before diving into your openSUSE on Raspberry Pi 5 adventure, make sure your device has the latest EEPROM update.
135+
Before diving into your openSUSE on Raspberry Pi 5 adventure, make sure your
136+
device has the latest EEPROM update.
46137

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:
138+
If you just received your Pi 5 without any system on it, you can prepare
139+
a MicroSD card with the EEPROM updater using Raspberry Pi Imager, or simply
140+
run the following commands from an existing image on your Pi 5:
48141

49142
```
50143
sudo rpi-eeprom-update -a
@@ -53,18 +146,35 @@ sudo reboot
53146

54147
## Do not skip the Debug Probe
55148

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).
149+
If your RPi 5 seems to hang at the U-Boot stage when testing images, you are
150+
not alone. This is a known issue being tracked under:
151+
152+
[boo#1250992](https://bugzilla.opensuse.org/show_bug.cgi?id=1251192).
153+
154+
This is a **temporary workaround**, and the issue is expected to be resolved soon.
57155

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.
156+
Using the Debug Probe will save you a lot of time and frustration while
157+
experimenting with openSUSE on your RPi 5. It is also a handy tool to keep
158+
around for future embedded projects.
59159

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.
160+
## Really short list of RPi 5 related patches.
161+
162+
* [Add DRM HDMI Codec framework](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
163+
164+
* [Add support for BCM2712 HVS](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
165+
166+
* [Add support for BCM2712 / Pi5 display hardware](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
167+
168+
* [Add watchdog support for BCM2712](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
169+
170+
* [Add Raspberry Pi's RP1 ADC](https://lore.kernel.org/linux-arm-kernel/[email protected]/)
61171

62172
## What images should I try
63173

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).
174+
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.
175+
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).
65176

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

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

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-
187+
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.
82188
For general ARM information, visit the [openSUSE ARM Portal](https://en.opensuse.org/Portal:Arm).
83189

84190
## Why run openSUSE on your RPi 5
@@ -97,9 +203,9 @@ We also brought a smile to the face of **Tomáš**, one of last weekend’s [ope
97203
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).
98204

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

208+
103209
<meta name="openSUSE, Tumbleweed, rolling release, kernel, SUSE, arm" content="HTML,CSS,XML,JavaScript">
104210

105211

0 commit comments

Comments
 (0)