From bd99aaa31b2edc77097b3778099f93afc179898e Mon Sep 17 00:00:00 2001 From: Lubos Kocman Date: Tue, 4 Nov 2025 16:23:16 +0100 Subject: [PATCH 1/8] Update rpi5 article with changes from Ivan --- .../2025/2025-11-04-raspberrypi5-opensuse.md | 146 +++++++++++++++--- 1 file changed, 121 insertions(+), 25 deletions(-) diff --git a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md index 0b4cec4c..7da84e2a 100644 --- a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md +++ b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md @@ -1,7 +1,7 @@ --- -author: Lubos Kocman -date: 2025-11-18 07:00:00+02:00 +author: Ivan Ivanov +date: 2025-11-04 07:00:00+02:00 layout: post image: /wp-content/uploads/2025/11/rpi5.png license: CC-BY-SA-3.0 @@ -22,29 +22,112 @@ tags: --- -SUSE delivers Raspberry Pi 5 U-Boot support +# SUSE delivers Raspberry Pi 5 support -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. +It is finally happening. [Raspberry Pi 5](https://en.opensuse.org/HCL:Raspberry_Pi5) users can now look forward to proper +support in openSUSE Tumbleweed. -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. +This is thanks to the hard work of many parties like SUSE Hardware Enablement team, +RaspberryPi, [Ideas on Board](https://ideasonboard.com/), [Linaro](https://www.linaro.org/), and many other engineers, along with Linux +and [U-Boot](https://u-boot.org/) subsystem maintainers who were patient enough to review our patches. -We are happy to share that the SUSE Hardware Enablement team has made great progress on this front. +I am sure many are wondering why it is taking so long to enable Raspberry Pi 5-based +devices to work on anything other than Raspberry Pi OS. -**Ivan Ivanov**, who did the [initial U-Boot work for the Pi 5](https://lore.kernel.org/all/20231218210341.30073-1-iivanov@suse.de/), teamed up with **Matthias Brugger** and the rest of the team to move things forward. +## About the boot process -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. +First, let's highlight the simplified OS-level boot architecture differences. -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**. +In Raspberry Pi OS, firmware located in the device's EEPROM directly runs the +vendor-developed Linux kernel. -## About the boot process +In openSUSE, we use GRUB2. However, GRUB2 itself requires the machine to have UEFI +firmware interfaces to be able to locate boot artifacts. Therefore, openSUSE uses +the popular [Das U-Boot](https://u-boot.org/) bootloader to provide these interfaces. + +This software combination works fine for (open)SUSE products. But this means we +have had to add the missing RPi 5 features to U-Boot and the Linux kernel. + +## New RPi 5 hardware enhancements + +Now, on the hardware side, there are some significant differences between the +RPi 5 and all previous generations of devices. + +Before the RPi 5, all controllers (like USB, Ethernet, SPI, I2C, GPIO, CSI, and so on) +were part of the main SoC (BCM2835, BCM2836, BCM2835, BCM2710, BCM2711) and +were more or less the same across different generations of these SoCs. Adding +support for them in U-Boot and Linux was more or less straightforward. + +On the RPi 5, things changed significantly. There is a new "south bridge" chip, +the RP1, which contains all of the above controllers. The RP1 is connected to +the main SoC (BCM2712) via a PCIe bus. + +Fortunately, one thing has remained the same: The MicroSD card controller is +still part of the main SoC. So, besides a few small differences in the SD +controller's internals, adding support for it to U-Boot and the Linux kernel +was relatively easy. + +[Initial U-Boot support for bcm2712 SD controller](https://lore.kernel.org/u-boot/20240123080819.13625-6-iivanov@suse.de/) + +This led people to [**think**](https://forums.opensuse.org/t/booting-microos-on-raspberry-pi-5-sd-card/171805) +that openSUSE was ready to run on this device. + +But this was just the beginning of a long journey. + +Let's go back to PCIe. Older RPi's also have a PCIe root complex, but the +RPi 5's is a little bit different. So, for U-Boot or Linux to be able to access +all of the interesting controllers devices, we had to add support for it in U-Boot and +the Linux kernel. This was done by this patch set: + +[Add PCIe support for bcm2712](https://lore.kernel.org/linux-arm-kernel/20250224083559.47645-1-svarbanov@suse.de/) + +There are a few other important pieces that landed in the Linux kernel: + +* [Add support for new MSI-X Interrupt Peripheral](https://lore.kernel.org/linux-arm-kernel/20250120130119.671119-4-svarbanov@suse.de/) + +* [Add support for pin control driver for BCM2712 SoC](https://lore.kernel.org/linux-arm-kernel/cover.1756372805.git.andrea.porta@suse.com/) + +* [Add support for clocks provided by RP1](https://lore.kernel.org/linux-arm-kernel/20250530234051.465593-1-florian.fainelli@broadcom.com/) + +* [Implement RaspberryPi RP1 gpio support](https://lore.kernel.org/linux-arm-kernel/20250530234058.465687-1-florian.fainelli@broadcom.com/) + +After the PCI Express driver was working and Linux could see devices attached +to the PCIe root complex, we had to port the driver that handles the new RP1 +chip, behind which are the USB, Ethernet, and so on... This became a difficult +task because many people had different views on how this should be implemented. +But in the end, we got it merged: -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. +[Add support for RaspberryPi RP1 PCI device](https://lore.kernel.org/linux-arm-kernel/cover.1748526284.git.andrea.porta@suse.com/) + +Now Linux was able to see devices that were attached behind the RP1 chip. +Of course, these controllers (Ethernet, for example) were a little bit different +than those on the BCM2711, so a new set of patches was required: + +[Add support for Raspberry Pi RP1 ethernet controller](https://lore.kernel.org/linux-arm-kernel/20250916081059.3992108-1-svarbanov@suse.de/) + +Of course, there were many more patches required to make this device usable. +A really, really short list of them can be found below. + +Currently openSUSE Tumbleweed is booting fine from SD card up to the graphical +Desktop Environment using HDMI output. + +What you should expect to be working once booted into Tumbleweed: + +* Ethernet +* WiFi +* Bluetooth +* USB +* HDMI +* ... ## Before you start -Before diving into your openSUSE on Raspberry Pi 5 adventure, make sure your device has the latest EEPROM update. +Before diving into your openSUSE on Raspberry Pi 5 adventure, make sure your +device has the latest EEPROM update. -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: +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: ``` sudo rpi-eeprom-update -a @@ -53,18 +136,35 @@ sudo reboot ## Do not skip the Debug Probe -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). +If your RPi 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#1251192](https://bugzilla.opensuse.org/show_bug.cgi?id=1250991). + +This is a **temporary workaround**, and the issue is expected to be resolved soon. + +Using the Debug Probe will save you a lot of time and frustration while +experimenting with openSUSE on your RPi 5. It is also a handy tool to keep +around for future embedded projects. -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. +## Really short list of RPi 5 related patches. -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. +* [Add DRM HDMI Codec framework](https://lore.kernel.org/linux-arm-kernel/20241201-drm-bridge-hdmi-connector-v5-0-b5316e82f61a@linaro.org/) + +* [Add support for BCM2712 HVS](https://lore.kernel.org/linux-arm-kernel/20241025-drm-vc4-2712-support-v2-10-35efa83c8fc0@raspberrypi.com/) + +* [Add support for BCM2712 / Pi5 display hardware](https://lore.kernel.org/linux-arm-kernel/20241025-drm-vc4-2712-support-v2-0-35efa83c8fc0@raspberrypi.com/) + +* [Add watchdog support for BCM2712](https://lore.kernel.org/linux-arm-kernel/20251031183309.1163384-1-svarbanov@suse.de/) + +* [Add Raspberry Pi's RP1 ADC](https://lore.kernel.org/linux-arm-kernel/20250925000416.2408457-1-svarbanov@suse.de/) ## What images should I try -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). +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. +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). Before you begin, make sure that you have the **Debug Probe** connected. - Then write one of the Raspberry Pi images from [openSUSE Tumbleweed appliances](https://download.opensuse.org/ports/aarch64/tumbleweed/appliances/) to your microSD card, and you should be ready to go. @@ -74,11 +174,7 @@ If you can’t decide which image to start with, the [Tumblweed Arm GNOME image xzcat image.aarch64.raw.xz | dd of=/dev/sda bs=1M status=progress conv=fsync; sync ``` -You can also explore additional community and experimental images in -[devel:ARM:Factory:Contrib:RPi5 project](https://build.opensuse.org/project/show/devel:ARM:Factory:Contrib:RPi5). - -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/arm@lists.opensuse.org). Alternatively, you’re welcome to use [forums.opensuse.org](https://forums.opensuse.org/) for general openSUSE-related questions. - +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/arm@lists.opensuse.org). Alternatively, you’re welcome to use [forums.opensuse.org](https://forums.opensuse.org/) for general openSUSE questions. For general ARM information, visit the [openSUSE ARM Portal](https://en.opensuse.org/Portal:Arm). ## Why run openSUSE on your RPi 5 @@ -89,7 +185,7 @@ With SUSE’s hardware enablement work, you can now get the **full openSUSE expe ## Time to celebrate -![rpi5winner](/wp-content/uploads/2025/11/rpi5winner.png) +![rpi5winner](/wp-content/uploads/2025/11/rpi5winner.jpg) 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. @@ -97,9 +193,9 @@ We also brought a smile to the face of **Tomáš**, one of last weekend’s [ope 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). Stay tuned and keep watching our [Raspberry Pi 5 Hardware Compatibility page](https://en.opensuse.org/HCL:Raspberry_Pi5). - We will share more updates once USB boot and PCIe are fully functional on the Raspberry Pi 5. + From 405dfbccd0dc4b03cc33b73e1ff3ad411491e106 Mon Sep 17 00:00:00 2001 From: Lubos Kocman Date: Tue, 4 Nov 2025 16:33:41 +0100 Subject: [PATCH 2/8] Update authors for rpi5 article --- _posts/2025/2025-11-04-raspberrypi5-opensuse.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md index 7da84e2a..b36c33bf 100644 --- a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md +++ b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md @@ -1,6 +1,6 @@ --- -author: Ivan Ivanov +author: Ivan Ivanov and Lubos Kocman date: 2025-11-04 07:00:00+02:00 layout: post image: /wp-content/uploads/2025/11/rpi5.png From 22a0319a15b5a5ea3eded73514db594c511289d9 Mon Sep 17 00:00:00 2001 From: Lubos Kocman Date: Tue, 4 Nov 2025 19:24:02 +0100 Subject: [PATCH 3/8] Fix boo#1251192 --- _posts/2025/2025-11-04-raspberrypi5-opensuse.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md index b36c33bf..e8fb10c7 100644 --- a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md +++ b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md @@ -139,7 +139,7 @@ sudo reboot If your RPi 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#1251192](https://bugzilla.opensuse.org/show_bug.cgi?id=1250991). +[boo#1251192](https://bugzilla.opensuse.org/show_bug.cgi?id=1250992). This is a **temporary workaround**, and the issue is expected to be resolved soon. From 6de9245691a2b9ec4dd81fbf1a973c8cd620bad7 Mon Sep 17 00:00:00 2001 From: Lubos Kocman Date: Tue, 4 Nov 2025 19:30:11 +0100 Subject: [PATCH 4/8] Add further links to projects for rpi5 article --- _posts/2025/2025-11-04-raspberrypi5-opensuse.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md index e8fb10c7..de259289 100644 --- a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md +++ b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md @@ -28,7 +28,7 @@ It is finally happening. [Raspberry Pi 5](https://en.opensuse.org/HCL:Raspberry_ support in openSUSE Tumbleweed. This is thanks to the hard work of many parties like SUSE Hardware Enablement team, -RaspberryPi, [Ideas on Board](https://ideasonboard.com/), [Linaro](https://www.linaro.org/), and many other engineers, along with Linux +[RaspberryPi](https://www.raspberrypi.com/), [Ideas on Board](https://ideasonboard.com/), [Linaro](https://www.linaro.org/), and many other engineers, along with Linux and [U-Boot](https://u-boot.org/) subsystem maintainers who were patient enough to review our patches. I am sure many are wondering why it is taking so long to enable Raspberry Pi 5-based @@ -69,6 +69,8 @@ was relatively easy. [Initial U-Boot support for bcm2712 SD controller](https://lore.kernel.org/u-boot/20240123080819.13625-6-iivanov@suse.de/) +[Add minimal boot support for Raspberry Pi 5] (https://lore.kernel.org/linux-arm-kernel/cover.1716899600.git.andrea.porta@suse.com/) + This led people to [**think**](https://forums.opensuse.org/t/booting-microos-on-raspberry-pi-5-sd-card/171805) that openSUSE was ready to run on this device. @@ -139,7 +141,7 @@ sudo reboot If your RPi 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#1251192](https://bugzilla.opensuse.org/show_bug.cgi?id=1250992). +[boo#1250991](https://bugzilla.opensuse.org/show_bug.cgi?id=1250991). This is a **temporary workaround**, and the issue is expected to be resolved soon. From c354e9408b2763e8126e4506067a67f9dc8fdb67 Mon Sep 17 00:00:00 2001 From: Lubos Kocman Date: Tue, 4 Nov 2025 19:33:58 +0100 Subject: [PATCH 5/8] rpi5 winner pic is in png --- _posts/2025/2025-11-04-raspberrypi5-opensuse.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md index de259289..9b0921ed 100644 --- a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md +++ b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md @@ -187,7 +187,7 @@ With SUSE’s hardware enablement work, you can now get the **full openSUSE expe ## Time to celebrate -![rpi5winner](/wp-content/uploads/2025/11/rpi5winner.jpg) +![rpi5winner](/wp-content/uploads/2025/11/rpi5winner.png) 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. From 97cf94261a4476ce0250a91b184e055a68b1646d Mon Sep 17 00:00:00 2001 From: Lubos Kocman Date: Wed, 5 Nov 2025 09:19:39 +0100 Subject: [PATCH 6/8] Further rpi5 edits by Ivan --- _posts/2025/2025-11-04-raspberrypi5-opensuse.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md index 9b0921ed..c51f1228 100644 --- a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md +++ b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md @@ -122,6 +122,14 @@ What you should expect to be working once booted into Tumbleweed: * HDMI * ... +## What is coming + +Hopefully U-Boot will soon gain support for BCM2712 PCIe root complex +controller. This will bring in ability device to boot from disk. Fixes +for Ethernet controller are also on it is way. + +[Improve Raspberry Pi 5 support](https://lore.kernel.org/u-boot/20251010161442.410C4227AAE@verein.lst.de/) + ## Before you start Before diving into your openSUSE on Raspberry Pi 5 adventure, make sure your @@ -141,7 +149,7 @@ sudo reboot If your RPi 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). +[boo#1250992](https://bugzilla.opensuse.org/show_bug.cgi?id=1251192). This is a **temporary workaround**, and the issue is expected to be resolved soon. From 3c9d7f244cc4868afba1e3b21214e36026cb70e0 Mon Sep 17 00:00:00 2001 From: Lubos Kocman Date: Wed, 5 Nov 2025 09:49:46 +0100 Subject: [PATCH 7/8] Wider scope of rpi5 article to not just uboot --- _posts/2025/2025-11-04-raspberrypi5-opensuse.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md index c51f1228..1ba40d71 100644 --- a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md +++ b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md @@ -27,7 +27,7 @@ tags: It is finally happening. [Raspberry Pi 5](https://en.opensuse.org/HCL:Raspberry_Pi5) users can now look forward to proper support in openSUSE Tumbleweed. -This is thanks to the hard work of many parties like SUSE Hardware Enablement team, +**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, [RaspberryPi](https://www.raspberrypi.com/), [Ideas on Board](https://ideasonboard.com/), [Linaro](https://www.linaro.org/), and many other engineers, along with Linux and [U-Boot](https://u-boot.org/) subsystem maintainers who were patient enough to review our patches. From f3a841bae8878308cc11cba0b0047a440a69ef90 Mon Sep 17 00:00:00 2001 From: Lubos Kocman Date: Wed, 5 Nov 2025 10:11:25 +0100 Subject: [PATCH 8/8] Reworked taking-so-long part of rpi5 article --- _posts/2025/2025-11-04-raspberrypi5-opensuse.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md index 1ba40d71..261662c5 100644 --- a/_posts/2025/2025-11-04-raspberrypi5-opensuse.md +++ b/_posts/2025/2025-11-04-raspberrypi5-opensuse.md @@ -29,10 +29,10 @@ support in openSUSE Tumbleweed. **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, [RaspberryPi](https://www.raspberrypi.com/), [Ideas on Board](https://ideasonboard.com/), [Linaro](https://www.linaro.org/), and many other engineers, along with Linux -and [U-Boot](https://u-boot.org/) subsystem maintainers who were patient enough to review our patches. +and [U-Boot](https://u-boot.org/) subsystem maintainers and many other engineers were patient enough to review our patches. -I am sure many are wondering why it is taking so long to enable Raspberry Pi 5-based -devices to work on anything other than Raspberry Pi OS. +Many maybe wondering why it is taking so long to enable Raspberry Pi 5-based +devices to work on anything other than Raspberry Pi OS; they no longer need to wonder. ## About the boot process