SUSE 提供 Raspberry Pi 5 支持

2025年11月4日 | Ivan Ivanov 和 Lubos Kocman | CC-BY-SA-3.0

SUSE delivers Raspberry Pi 5 support

SUSE 提供 Raspberry Pi 5 支持

终于实现了。使用 树莓派 5 的用户现在可以期待在 openSUSE Tumbleweed 中获得适当的支持。

这不仅仅是关于 U-Boot,还有更多。 这要归功于 SUSE 硬件启用团队、树莓派Ideas on BoardLinaro 以及其他许多工程师的辛勤工作,以及 Linux 和 U-Boot 子系统维护者和许多其他工程师的耐心审查我们的补丁。

许多人可能想知道为什么启用基于树莓派 5 的设备在其他系统上运行需要这么长时间;他们不再需要疑惑了。

关于启动过程

首先,让我们突出显示简化的操作系统级别启动架构差异。

在树莓派操作系统中,位于设备 EEPROM 中的固件直接运行供应商开发的 Linux 内核。

在 openSUSE 中,我们使用 GRUB2。但是,GRUB2 本身需要机器具有 UEFI 固件接口才能找到启动工件。因此,openSUSE 使用流行的 Das U-Boot 引导加载程序来提供这些接口。

这种软件组合对于 (open)SUSE 产品来说效果很好。但这意味着我们必须将缺失的 RPi 5 功能添加到 U-Boot 和 Linux 内核中。

新的 RPi 5 硬件增强功能

现在,在硬件方面,RPi 5 与所有先前代设备的控制器之间存在一些重大差异。

在 RPi 5 之前,所有控制器(如 USB、以太网、SPI、I2C、GPIO、CSI 等)都位于主 SoC(BCM2835、BCM2836、BCM2835、BCM2710、BCM2711)中,并且在这些 SoC 的不同代之间或多或少相同。在 U-Boot 和 Linux 中添加对它们的支持或多或少都很简单。

在 RPi 5 上,情况发生了重大变化。有一个新的“南桥”芯片,RP1,它包含所有上述控制器。RP1 通过 PCIe 总线连接到主 SoC(BCM2712)。

幸运的是,有一件事保持不变:MicroSD 卡控制器仍然位于主 SoC 中。因此,除了 SD 控制器内部的一些小差异外,将对它在 U-Boot 和 Linux 内核中的支持添加起来相对容易。

初始 U-Boot 对 bcm2712 SD 控制器的支持

添加对 Raspberry Pi 5 的最小启动支持

这让人们 认为 openSUSE 已经可以运行在这个设备上了。

但这仅仅是一个漫长旅程的开始。

让我们回到 PCIe。较旧的 RPi 也有一个 PCIe 根复用器,但 RPi 5 的略有不同。因此,为了让 U-Boot 或 Linux 能够访问所有有趣的控制器设备,我们必须在 U-Boot 和 Linux 内核中添加对它的支持。这是通过这个补丁集完成的

添加对 bcm2712 的 PCIe 支持

还有一些重要的部分降落在 Linux 内核中

在 PCI Express 驱动程序工作正常并且 Linux 可以看到连接到 PCIe 根复用器的设备后,我们必须移植处理新的 RP1 芯片的驱动程序,其后是 USB、以太网等… 这成了一项困难的任务,因为许多人对应该如何实现它有不同的看法。但最终,我们将其合并了

添加对 RaspberryPi RP1 PCI 设备的的支持

现在 Linux 能够看到连接到 RP1 芯片后面的设备。当然,这些控制器(例如以太网)与 BCM2711 上的略有不同,因此需要一组新的补丁

添加对 Raspberry Pi RP1 以太网控制器的支持

当然,为了使这个设备可用,还需要更多的补丁。一个非常简短的列表如下。

目前 openSUSE Tumbleweed 可以通过 SD 卡启动到图形桌面环境,使用 HDMI 输出。

启动到 Tumbleweed 后您应该期望哪些功能正常工作

  • 以太网
  • WiFi
  • 蓝牙
  • USB
  • HDMI

即将到来

希望 U-Boot 很快将获得对 BCM2712 PCIe 根复用器控制器的支持。这将带来从磁盘启动设备的能力。以太网控制器的修复也在进行中。

改进 Raspberry Pi 5 支持

由于 USB 通过 PCIe 总线上的 RP1 连接,我们目前在 U-Boot 中不支持 USB。这意味着您无法在 U-Boot 或 Grub2 中使用 USB 键盘,因为 Grub 使用来自 U-boot 的 EFI 实现。请耐心等待。

开始之前

在开始您的 openSUSE 在 Raspberry Pi 5 上的冒险之前,请确保您的设备具有最新的 EEPROM 更新。

如果您刚收到没有系统安装的 Pi 5,您可以使用 Raspberry Pi Imager 准备带有 EEPROM 更新程序的 MicroSD 卡,或者简单地从您的 Pi 5 上的现有镜像运行以下命令

sudo rpi-eeprom-update -a
sudo reboot

不要跳过调试探针

如果您的 RPi 5 在测试镜像时似乎在 U-Boot 阶段挂起,您并不孤单。这是一个已知的问题,正在跟踪中

boo#1250992.

这是一个临时解决方法,预计问题很快将得到解决。

使用 调试探针 将为您节省大量时间和精力,同时在您的 RPi 5 上试验 openSUSE。它也是一个方便的工具,可用于未来的嵌入式项目。

我应该尝试哪些镜像

您现在可以在您的 Raspberry Pi 5 上运行大多数 Raspberry Pi 4 兼容的 Tumbleweed appliance 镜像MicroOS(如果您更喜欢不可变变体)。openSUSE Leap 和 Leap Micro 目前不在努力范围内,但预计将在其下一个版本(16.1 和 6.3 于 2026 年底发布)中获得完全支持。

在开始之前,请确保已连接调试探针。然后将来自 openSUSE Tumbleweed appliance 的 Raspberry Pi 镜像写入您的 microSD 卡,您应该就可以开始了。

如果您无法决定从哪个镜像开始,Tumblweed Arm GNOME 镜像 for raspberrypi 是一个安全的选择。

xzcat image.aarch64.raw.xz | dd of=/dev/sda bs=1M status=progress conv=fsync; sync

如果您遇到任何问题,我们强烈建议您联系 openSUSE Arm matrix 频道订阅 openSUSE Arm 邮件列表。或者,欢迎使用 # 提出一般 openSUSE 问题。有关一般 ARM 信息,请访问 openSUSE ARM 门户

为什么要在您的 RPi 5 上运行 openSUSE

官方 Raspberry Pi OS 提供了一个简单的桌面体验,但它主要面向桌面使用,默认情况下不包含容器等功能。

借助 SUSE 的硬件启用工作,您现在可以在您的 Pi 上获得完整的 openSUSE 体验。就我个人而言,我喜欢运行 Cockpit 与自动更新相结合,甚至在容器中运行带有我的私有 openSUSE 镜像和 Nextcloud AIO

庆祝时间

rpi5winner

为了庆祝 SUSE 硬件启用团队的辛勤工作,我们已向 LowTechLinux 的 DaleThe Register 的 Liam 发送了 Raspberry Pi 5 入门套件和调试探针,以便他们与社区分享他们的第一印象。

我们还在上周末的 openALT.cz 活动中让 Tomáš 脸上露出了笑容,他在我们的 openSUSE 测验 中赢得了 Raspberry Pi 5 和调试探针。测验应用程序被 openSUSE Booth 团队广泛用于世界各地,现在具有一个“openSUSE Arm”部分,可帮助参与者了解更多关于 openSUSE 的 Arm 努力

敬请关注并继续关注我们的 Raspberry Pi 5 硬件兼容性页面。一旦 Raspberry Pi 5 上的 USB 启动和 PCIe 完全正常工作,我们将分享更多更新。

分享此帖子