From Fedora Project Wiki
(update translation to 2018-Nov-18 version)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{lang|en|zh-cn|page=Architectures/ARM/Raspberry Pi}}
 
{{lang|en|zh-cn|page=Architectures/ARM/Raspberry Pi}}
  
{{admon/tip | 现在树莓派在 Fedora 25 以及更新的版本中得到支持。Fedora 25 最终发布版的支持尚未经过时间考验,如果你遇到问题请反馈到 ARM 邮件列表或 IRC 频道。 }}
+
{{admon/tip | 现在 Fedora 所有的稳定版本都可以支持树莓派 2 代和 3 代。最新款的树莓派 3 代 B+ 型还只有 Fedora 28 之后的版本可以支持。使用中如遇问题,请反馈到 ARM 邮件列表或 IRC 频道。 }}
  
 
= 引言 =
 
= 引言 =
  
[https://www.raspberrypi.org 树莓派]是一块信用卡大小、基于 ARM 的单板计算机(SBC)。Fedora 从 Fedora 26 及更新的版本开始原生支持树莓派 2 代和 3 代 B 型,无需再用第三方内核或脚本修改官方镜像。本文将介绍如何上手,以及关于支持情况会有哪些常见问题(FAQ)等。
+
[https://www.raspberrypi.org 树莓派]是一块信用卡大小、基于 ARM 的单板计算机(SBC)。目前 Fedora 的发行版本都可以原生支持树莓派 2 代和 3 代 B 型,树莓派 3 代 B+ 型还只有 Fedora 29 可以支持,这些都无需使用第三方内核或脚本修改官方镜像。本文将介绍如何上手,以及关于支持情况会有哪些常见问题(FAQ)等。
  
 
= 支持的硬件 =
 
= 支持的硬件 =
  
目前只支持树莓派 2 代和 3 代 B 型。
+
树莓派 2 代和 3 代 B 型。Fedora 29 可以支持树莓派 3 代 B+ 型。  
  
 
= 前期准备 =
 
= 前期准备 =
  
* 树莓派 2 代和 3 代 B 型
+
* 树莓派 2 代和 3 代 B 型或 3 代 B+
* 高质量的 SD 卡 ([http://elinux.org/RPi_SD_cards eLinux] 有一份兼容性列表)
+
* 高质量的 SD 卡 ( [http://elinux.org/RPi_SD_cards eLinux] 有一份兼容性列表)
 
* HDMI 显示器或电视,一副 USB 键盘和鼠标
 
* HDMI 显示器或电视,一副 USB 键盘和鼠标
* 合适的供电装置。 树莓派 2 代建议至少 2A, 3 代建议至少 2.5A。 详情请访问 [https://www.raspberrypi.org/help/faqs/#power]
+
* 合适的供电装置。 树莓派 2 代建议至少 2A, 3 代建议至少 2.5A。 详情请访问 [https://www.raspberrypi.org/documentation/faqs/#pi-power]
  
 
制备 SD 卡还需要:
 
制备 SD 卡还需要:
Line 24: Line 24:
 
= 下载 Fedora ARM 镜像 =
 
= 下载 Fedora ARM 镜像 =
  
Fedora 26 已经原生支持树莓派,关于目前的特性请阅读 FAQ 。
+
Fedora 已经原生支持树莓派,关于目前的特性请阅读 FAQ 。
  
Fedora 26 镜像可以从这里下载:
+
== 支持 ARMv7 架构的镜像 ==
* [https://download.fedoraproject.org/pub/fedora/linux/releases/26/Workstation/armhfp/images/Fedora-Workstation-armhfp-26-1.5-sda.raw.xz Fedora Workstation 26] ([https://download.fedoraproject.org/pub/fedora/linux/releases/26/Workstation/armhfp/images/Fedora-Workstation-26-1.5-armhfp-CHECKSUM 校验文件])
+
 
* [https://download.fedoraproject.org/pub/fedora/linux/releases/26/Server/armhfp/images/Fedora-Server-armhfp-26-1.5-sda.raw.xz Fedora Server 26] ([https://download.fedoraproject.org/pub/fedora/linux/releases/26/Server/armhfp/images/Fedora-Server-26-1.5-armhfp-CHECKSUM 校验文件])
+
Fedora 29 镜像可以从这里下载:
* [https://download.fedoraproject.org/pub/fedora/linux/releases/26/Spins/armhfp/images/Fedora-Minimal-armhfp-26-1.5-sda.raw.xz Fedora 26 最小化安装镜像] ([https://download.fedoraproject.org/pub/fedora/linux/releases/26/Spins/armhfp/images/Fedora-Spins-26-1.5-armhfp-CHECKSUM 校验文件])
+
* [https://download.fedoraproject.org/pub/fedora/linux/releases/29/Workstation/armhfp/images/Fedora-Workstation-armhfp-29-1.2-sda.raw.xz Fedora Workstation 29] ([https://download.fedoraproject.org/pub/fedora/linux/releases/29/Workstation/armhfp/images/Fedora-Workstation-29-1.2-armhfp-CHECKSUM 校验文件])
* [https://download.fedoraproject.org/pub/fedora/linux/releases/26/Spins/armhfp/images/ Fedora 26 定制版] ([https://download.fedoraproject.org/pub/fedora/linux/releases/26/Spins/armhfp/images/Fedora-Spins-26-1.5-armhfp-CHECKSUM 校验文件])
+
* [https://download.fedoraproject.org/pub/fedora/linux/releases/29/Server/armhfp/images/Fedora-Server-armhfp-29-1.2-sda.raw.xz Fedora Server 29] ([https://download.fedoraproject.org/pub/fedora/linux/releases/29/Server/armhfp/images/Fedora-Server-29-1.2-armhfp-CHECKSUM 校验文件])
 +
* [https://download.fedoraproject.org/pub/fedora/linux/releases/29/Spins/armhfp/images/Fedora-Minimal-armhfp-29-1.2-sda.raw.xz Fedora 29 最小化安装镜像] ([https://download.fedoraproject.org/pub/fedora/linux/releases/29/Spins/armhfp/images/Fedora-Spins-29-1.2-armhfp-CHECKSUM 校验文件])
 +
* [https://download.fedoraproject.org/pub/fedora/linux/releases/29/Spins/armhfp/images/ Fedora 29 定制版] ([https://download.fedoraproject.org/pub/fedora/linux/releases/29/Spins/armhfp/images/Fedora-Spins-29-1.2-armhfp-CHECKSUM 校验文件])
 +
 
 +
== 支持树莓派 3 代 aarch64 架构的镜像 ==
 +
 
 +
Fedora 29 镜像可以从这里下载:
 +
* [https://dl.fedoraproject.org/pub/fedora-secondary/releases/29/Workstation/aarch64/images/Fedora-Workstation-29-1.2.aarch64.raw.xz Fedora Workstation 29] ([https://dl.fedoraproject.org/pub/fedora-secondary/releases/29/Workstation/aarch64/images/Fedora-Workstation-29-1.2-aarch64-CHECKSUM 校验文件])
 +
* [https://dl.fedoraproject.org/pub/fedora/linux/releases/29/Server/aarch64/images/Fedora-Server-29-1.2.aarch64.raw.xz Fedora Server 29] ([https://dl.fedoraproject.org/pub/fedora/linux/releases/29/Server/aarch64/images/Fedora-Server-29-1.2-aarch64-CHECKSUM 校验文件])
 +
* [https://dl.fedoraproject.org/pub/fedora-secondary/releases/29/Spins/aarch64/images/Fedora-Minimal-29-1.2.aarch64.raw.xz Fedora 29 最小化安装镜像] ([https://dl.fedoraproject.org/pub/fedora-secondary/releases/29/Spins/aarch64/images/Fedora-Spins-29-1.2-aarch64-CHECKSUM 校验文件])
  
 
= 制备 SD 卡 =
 
= 制备 SD 卡 =
Line 38: Line 47:
 
== Fedora 或其他 Linux 发行版 ==
 
== Fedora 或其他 Linux 发行版 ==
 
===脚本化===
 
===脚本化===
* 使用 fedora-arm-installer
+
* 使用 arm-image-installer 安装:
安装 arm-image-installer:
 
 
<pre>
 
<pre>
dnf install -y fedora-arm-installer
+
dnf install -y arm-image-installer
 
</pre>
 
</pre>
  
Line 63: Line 71:
 
示例: arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0
 
示例: arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0
  
关于支持的版型,请参考 SUPPORTED-BOARDS 文件。
+
关于支持的板型,请参考 SUPPORTED-BOARDS 文件。
 +
</pre>
 +
对于树莓派 2 代请使用
 +
<pre>
 +
--target=rpi2
 +
</pre>
 +
对于树莓派 3 代(B/B+ 型)请使用
 +
<pre>
 +
--target=rpi3
 
</pre>
 
</pre>
  
Line 79: Line 95:
 
== 调整 root 分区大小 ==
 
== 调整 root 分区大小 ==
  
为了压缩下载文件的体积,root 分区已被尽可能地调至最小。你需要手动重新调节。我们计划在 Fedora 25 正式发布之前使之可以自动调整分区大小。
+
为了压缩下载文件的体积,root 分区已被尽可能地调至最小。你需要手动重新调节。未来理想状态下我们也希望这一步骤可以被自动化(很棒的社区项目想法!)。
  
 
=== 在首次启动前调整 ===
 
=== 在首次启动前调整 ===
Line 92: Line 108:
  
 
<pre>
 
<pre>
# 扩增第 4 个分区(本示例中为 mmcblk0 )
+
# 扩增第 3 个分区(本示例中为 mmcblk0 )
growpart /dev/mmcblk0 4
+
growpart /dev/mmcblk0 3
# 扩展文件系统以使用全部可用空间
+
# 扩展卷以使用磁盘剩余空间
resize2fs /dev/mmcblk0p4
+
resize2fs /dev/mmcblk0p3
# 对于服务器(server)版镜像(由于使用了 xfs 文件系统)
+
# 调整 armhfp 服务器(server)版镜像的 root 分区(由于使用了 xfs 文件系统)
xfs_growfs /dev/mmcblk0p4
+
xfs_growfs -d /
 +
 
 +
# 针对 AArch64 服务器(server)版镜像的步骤
 +
 
 +
# 扩增第 3 个分区(本示例中为 mmcblk0 )
 +
growpart /dev/mmcblk0 3
 +
# 调整物理卷(physical volume)
 +
pvresize /dev/mmcblk0p3
 +
# 扩增 root 文件系统以使用刚刚添加到卷中的空间
 +
lvextend -l +100%FREE /dev/fedora/root
 +
# 调整服务器(server)版镜像的 root 分区(由于使用了 xfs 文件系统)
 +
xfs_growfs -d /
 
</pre>
 
</pre>
  
Line 105: Line 132:
 
* 确保你的键盘、鼠标、网线、显示器已正确连接。
 
* 确保你的键盘、鼠标、网线、显示器已正确连接。
 
* 连接树莓派电源开机。
 
* 连接树莓派电源开机。
* 你会看到 Fedora 开始启动,最后会显示「初始化设置向导」。
+
* 你会看到 Fedora 开始启动,最后会显示「初始化设置向导」(Initial setup wizard)。
 
* 按照向导设置语言、时区并且创建用户。
 
* 按照向导设置语言、时区并且创建用户。
 
* 你会看到登录提示或开始向导(具体情况会由于你选择的桌面环境或定制版本的不同而有所差异)。
 
* 你会看到登录提示或开始向导(具体情况会由于你选择的桌面环境或定制版本的不同而有所差异)。
Line 128: Line 155:
 
* 电源供电不足。请参考上述[[Raspberry_Pi#Prerequisites | 前期准备]]部分。
 
* 电源供电不足。请参考上述[[Raspberry_Pi#Prerequisites | 前期准备]]部分。
 
* 没有安装系统。请检查 SD 卡是否正确安装且系统亦正确写入。
 
* 没有安装系统。请检查 SD 卡是否正确安装且系统亦正确写入。
* 树莓派版本错误。由于 Fedora 不支持 ARMv6 芯片,所以在树莓派 1 代或树莓派零上会出现此类错误。
+
* 树莓派版本错误。由于 Fedora 不支持 ARMv6 芯片,所以在树莓派 1 代或树莓派零(Raspberry Pi Zero)上会出现此类错误。
 +
* Fedora 版本不支持,例如在树莓派 3 代 B+ 型上使用了 Fedora 29 之前的版本
 +
 
 +
=== 电源供应 ===
 +
 
 +
最常遇到的一个问题通常是电源供应不够造成的。树莓派 3 代系列需要 2.5W 以上的电源供应器,尤其是在使用 Fedora 29 的时候,因为我们支持了更高的 CPU 频率,而这势必会需要更高的电力支持。在以前貌似还能正常运作的电源供应器,如果到了 Fedora 29 出了问题,就是这个缘故。
  
 
=== 哪些桌面环境可用? ===
 
=== 哪些桌面环境可用? ===
  
Fedora 搭载的桌面环境都可用,而且 3D/2D 也是开箱即用的。这得益于针对视频核心 IV GPU 的开源加速驱动。
+
3D/2D 都可以开箱即用,大部分 Fedora 搭载的轻量级桌面环境都运行良好。这得益于针对视频核心 IV GPU 的开源加速驱动。
  
 
=== 会有更多针对硬件的增强支持吗?===
 
=== 会有更多针对硬件的增强支持吗?===
Line 140: Line 172:
 
=== 关于 树莓派 A/A+ 型、 1 代 B/B+ 型、零/零W(Zero/ZeroW)以及计算模组(Compute Module)的支持情况如何? ===
 
=== 关于 树莓派 A/A+ 型、 1 代 B/B+ 型、零/零W(Zero/ZeroW)以及计算模组(Compute Module)的支持情况如何? ===
  
这些都不支持!!!
+
'''这些都不支持!'''
 
 
Fedora 现在不会,将来也不会支持 ARMv6 处理器。近年来我们多次尝试过支持,最好的结果便是基于 Fedora 23 的 Pignus 。更多信息请访问 [https://pignus.computer Pignus 官网]。新的计算模组 3(Compute Module 3)发售后我们会跟进支持,因为它基于和树莓派 3 代相同的芯片。
 
  
=== Fedora 24 可以支持吗? ===
+
Fedora 现在不会,将来也不会支持 ARMv6 处理器。近年来我们多次尝试过支持,最好的结果便是基于 Fedora 23 的 Pignus 。更多信息请访问 [https://pignus.computer Pignus 官网]。对于计算模组 3(Compute Module 3,CM3)的支持,上游已经加入到 4.20 内核之中了,我们也会在 Fedora 30 的时候支持 CM3 及其衍生设备。
 
 
不支持。团队资源有限,重心会放在 Fedora 25 和 rawhide 上。While possible to do there is reasonably significant amount of work to back port all the fixes that have gone into Fedora 25/rawhide back to stable releases. Fedora 25 [[Releases/25/Schedule | 已经发布]]而且在树莓派上已经非常稳定了。
 
  
 
=== 树莓派支持哪些 USB 设备? ===
 
=== 树莓派支持哪些 USB 设备? ===
Line 154: Line 182:
 
=== 树莓派上板载的 WiFi 和蓝牙支持吗? ===
 
=== 树莓派上板载的 WiFi 和蓝牙支持吗? ===
  
==== WiFi:====
+
==== Wi-Fi:====
  
树莓派上板载的 WiFi Fedora 26 Alpha(4.11 rc3 内核)上得以支持。
+
树莓派 3 代和 3 代 B+ 上的板载 WiFi 可以在 Fedora 29 上可以开箱即用。之前在 aarch64 架构上使用 Wi-Fi 有一个 bug,已经在 4.19.2-301 中得以修复。最新的内核/linux-firmware 固件同样支持最先的稳定发行版本。
  
目前有一个文件你可能需要修改,不过我们暂时还不能参与再分发这个文件。你可以先用板载有线网络启动或者预先在 SD 卡中设置好。在树莓派 3 代中你可以执行如下命令,执行成功后重启即可使用 WiFi 了。
+
===== 通过命令行使用 Wi-Fi =====
 
+
如果你是通过最小化镜像或服务器(server)镜像安装的,那么你可以通过命令行来配置设备使用 Wi-Fi:
<pre>sudo curl https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/master/brcm80211/brcm/brcmfmac43430-sdio.txt -o /lib/firmware/brcm/brcmfmac43430-sdio.txt</pre>
+
<pre>
 +
# 显示网络列表
 +
nmcli device wifi list
 +
# 连接
 +
nmcli device wifi connect $SSID --ask
 +
</pre>
  
 
==== 蓝牙:====
 
==== 蓝牙:====
目前尚未测试,但是既然它属于串口而且可访问,应该也是可用的。只是简单测试过,但是在实际使用中常常会拖垮整个设备,所以不推荐。如果你感兴趣的话,欢迎深入研究一下,也许可以提供更多有用的信息。
+
蓝牙正在支持情况良好,也比较稳定了。设备有时会自带一个通用蓝牙地址,不过基本运行良好,无需进行配置。
 
 
够胆的话,你可以用如下命令测试一下:
 
 
 
<pre>hciattach /dev/ttyAMA0 bcm43xx 3000000 noflow -</pre>
 
  
 
=== 声音正常吗? ===
 
=== 声音正常吗? ===
  
HDMI 音频输出自 Fedora 26 Alpha (4.11rc3)开始支持,但是模拟端口尚不支持。 USB 接口的音频输出应该也可以良好地支持。
+
Fedora 中包含了对 HDMI 音频输出的支持,但是模拟端口尚不支持。 USB 接口的音频输出应该也可以良好地支持。
  
 
=== 外接摄像头可用吗? ===
 
=== 外接摄像头可用吗? ===
Line 183: Line 212:
 
=== HDMI-CEC 可用吗? ===
 
=== HDMI-CEC 可用吗? ===
  
可用。目前在 Fedora 中使用[http://libcec.pulse-eight.com/ libcec] 来进行支持。
+
可用。目前已经获得了上游的新的 CEC 支持。可以看到有一个 /dev/cec0 的字符设备,v4l-utils 包中只要是支持使用 rc-cec 键位布局的 IR 遥控的应用都可以访问,命令行下也有一个 cec-ctl 工具可用。
  
 
=== 树莓派触摸屏支持吗? ===
 
=== 树莓派触摸屏支持吗? ===
Line 200: Line 229:
  
 
首先着重于支持的 HAT 是树莓派官方的传感器 Sense HAT。手动构建加载覆盖以提供板载设备访问的过程会被记录成文档,并作为示例方法,展示如何临时手动实现此类需求及其过程原理。相关文档在完成后会第一时间添加在这里。
 
首先着重于支持的 HAT 是树莓派官方的传感器 Sense HAT。手动构建加载覆盖以提供板载设备访问的过程会被记录成文档,并作为示例方法,展示如何临时手动实现此类需求及其过程原理。相关文档在完成后会第一时间添加在这里。
 +
 +
=== 使用 config.txt ===
 +
config.txt 目前只能用于基本的配置。由于开源 vc4 GPU 驱动的使用,大部分视频配置已经在 Linux 中完成了。
 +
 +
目前还不支持使用 config.txt 对HATs 进行配置,不过我们正在努力研究。
  
 
=== 支持设备树覆盖吗? ===
 
=== 支持设备树覆盖吗? ===
Line 207: Line 241:
 
=== 支持 GPIO 吗? ===
 
=== 支持 GPIO 吗? ===
  
GPIO 目前尚不能被很好地支持,因为它需要映射的设备树覆盖上。在 F-25 周期以及 Fedora 26 中会对其进行改进。
+
现在使用了 libgpiod 并辅以其他的实用工具,可以支持 GPIO 了。但是 RPI.GPIO 目前尚不支持。
  
 
=== 支持 SPI 吗? ===
 
=== 支持 SPI 吗? ===
Line 216: Line 250:
  
 
是的,支持基础 I2C 。
 
是的,支持基础 I2C 。
 
=== 树莓派 3 的 aarch64 支持 ===
 
 
由于时间和可用资源有限,针对 Fedora 25 的工作重点放在了使用统一的磁盘镜像来同时为 2 代和 3 代树莓派提供优雅的体验。当初这些工作开始的时候并不明确 aarch64 内核支持是否会按时在上游中加入。我们期望能在 Fedora 26 中为树莓派 3 提供 aarch64 设备的官方支持。在 Fedora 25 中已经做了大量的工作,但是完成 aarch64 的支持依然任重道远。
 
  
 
=== 我该如何使用串行控制台? ===
 
=== 我该如何使用串行控制台? ===

Latest revision as of 16:26, 18 November 2018

Idea.png
现在 Fedora 所有的稳定版本都可以支持树莓派 2 代和 3 代。最新款的树莓派 3 代 B+ 型还只有 Fedora 28 之后的版本可以支持。使用中如遇问题,请反馈到 ARM 邮件列表或 IRC 频道。

引言

树莓派是一块信用卡大小、基于 ARM 的单板计算机(SBC)。目前 Fedora 的发行版本都可以原生支持树莓派 2 代和 3 代 B 型,树莓派 3 代 B+ 型还只有 Fedora 29 可以支持,这些都无需使用第三方内核或脚本修改官方镜像。本文将介绍如何上手,以及关于支持情况会有哪些常见问题(FAQ)等。

支持的硬件

树莓派 2 代和 3 代 B 型。Fedora 29 可以支持树莓派 3 代 B+ 型。

前期准备

  • 树莓派 2 代和 3 代 B 型或 3 代 B+ 型
  • 高质量的 SD 卡 ( eLinux 有一份兼容性列表)
  • HDMI 显示器或电视,一副 USB 键盘和鼠标
  • 合适的供电装置。 树莓派 2 代建议至少 2A, 3 代建议至少 2.5A。 详情请访问 [1]

制备 SD 卡还需要:

  • 一台运行 Windows 或 macOS 或 Linux 系统的电脑
  • SD 读卡器

下载 Fedora ARM 镜像

Fedora 已经原生支持树莓派,关于目前的特性请阅读 FAQ 。

支持 ARMv7 架构的镜像

Fedora 29 镜像可以从这里下载:

支持树莓派 3 代 aarch64 架构的镜像

Fedora 29 镜像可以从这里下载:

制备 SD 卡

你可以很容易地在 Fedora 或其他 Linux 发行版,或者 macOS 、Windows 上将镜像写入 SD 卡中。默认设置会提供 HDMI 显示器上的用户可视界面和对键盘鼠标的支持。如果你想输出到串行控制台,请参考 FAQ 中的这一部分.

Fedora 或其他 Linux 发行版

脚本化

  • 使用 arm-image-installer 安装:
dnf install -y arm-image-installer

按照如下操作写入镜像:

$ sudo arm-image-installer

用法: arm-image-installer <选项>

   --image=IMAGE    - xz 压缩镜像文件名
   --target=TARGET  - 目标板
   --media=DEVICE   - 介质设备文件 (/dev/[sdX|mmcblkX])
   --selinux=ON/OFF - 按需要启用(ON)或关闭(OFF) SELinux
   --norootpass     - 移除 root 密码
   -y		    - 后续询问都选择「是」,不需要再次确认
   --version	    - 显示版本并退出
   --resizefs	    - 重新调整 root 文件系统大小以适配介质设备文件
   --addconsole     - 添加系统控制台到 extlinux.conf
   --addkey=        - 后接 ssh 公钥的路径

示例: arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0

关于支持的板型,请参考 SUPPORTED-BOARDS 文件。

对于树莓派 2 代请使用

--target=rpi2

对于树莓派 3 代(B/B+ 型)请使用

--target=rpi3

手动

 xzcat Fedora-IMAGE-NAME.raw.xz | sudo dd status=progress bs=4M of=/dev/XXX # 你的介质的路径(硬件不同可能会有差异,一般是 sdX 或 mmcblkX )

macOS

树莓派基金会提供了一些友好的说明,会指导你如何使用 macOS 写入镜像。 你只需简单地替换步骤中的文件路径和文件名即可。

微软 Windows

树莓派基金会提供了一些友好的说明,会指导你如何使用 Windows 写入镜像。 你只需简单地替换步骤中的文件路径和文件名即可。

调整 root 分区大小

为了压缩下载文件的体积,root 分区已被尽可能地调至最小。你需要手动重新调节。未来理想状态下我们也希望这一步骤可以被自动化(很棒的社区项目想法!)。

在首次启动前调整

最简单的方法就是在首次启动 Linux 系统前使用 gparted 调整分区大小:

gparted /dev/XXX

初始化启动后调整

另一种机制就是在你启动树莓派并完成初始化建立帐户后进行调整。

# 扩增第 3 个分区(本示例中为 mmcblk0 )
growpart /dev/mmcblk0 3
# 扩展卷以使用磁盘剩余空间
resize2fs /dev/mmcblk0p3
# 调整 armhfp 服务器(server)版镜像的 root 分区(由于使用了 xfs 文件系统)
xfs_growfs -d /

# 针对 AArch64 服务器(server)版镜像的步骤

# 扩增第 3 个分区(本示例中为 mmcblk0 )
growpart /dev/mmcblk0 3
# 调整物理卷(physical volume)
pvresize /dev/mmcblk0p3
# 扩增 root 文件系统以使用刚刚添加到卷中的空间
lvextend -l +100%FREE /dev/fedora/root
# 调整服务器(server)版镜像的 root 分区(由于使用了 xfs 文件系统)
xfs_growfs -d /

首次启动树莓派上的 Fedora

  • 将 SD 卡插入树莓派。
  • 确保你的键盘、鼠标、网线、显示器已正确连接。
  • 连接树莓派电源开机。
  • 你会看到 Fedora 开始启动,最后会显示「初始化设置向导」(Initial setup wizard)。
  • 按照向导设置语言、时区并且创建用户。
  • 你会看到登录提示或开始向导(具体情况会由于你选择的桌面环境或定制版本的不同而有所差异)。

应用更新和安装软件

如果你执行的是标准化的安装步骤,那么在初始化设置完成之后,无需其他特殊操作,你就可以正常安装或升级软件。而且普通桌面环境下的升级机制,如 dnf 、gnome-software 或其他图形界面升级系统程序都可以正常支持。

寻求帮助与报告问题

如果出现异常该去哪里寻求帮助呢?以下是 Fedora 常规支持的论坛:

常见问题( FAQ )

为什么当我启动树莓派后显示器上会出现「彩虹条」?

多种原因可能会导致这种情况,常见以下三种:

  • 电源供电不足。请参考上述 前期准备部分。
  • 没有安装系统。请检查 SD 卡是否正确安装且系统亦正确写入。
  • 树莓派版本错误。由于 Fedora 不支持 ARMv6 芯片,所以在树莓派 1 代或树莓派零(Raspberry Pi Zero)上会出现此类错误。
  • Fedora 版本不支持,例如在树莓派 3 代 B+ 型上使用了 Fedora 29 之前的版本

电源供应

最常遇到的一个问题通常是电源供应不够造成的。树莓派 3 代系列需要 2.5W 以上的电源供应器,尤其是在使用 Fedora 29 的时候,因为我们支持了更高的 CPU 频率,而这势必会需要更高的电力支持。在以前貌似还能正常运作的电源供应器,如果到了 Fedora 29 出了问题,就是这个缘故。

哪些桌面环境可用?

3D/2D 都可以开箱即用,大部分 Fedora 搭载的轻量级桌面环境都运行良好。这得益于针对视频核心 IV GPU 的开源加速驱动。

会有更多针对硬件的增强支持吗?

会的。新的增强支持即将到来,只要完备就会在标准 Fedora 更新机制中分发。如果有新的重大特性,我们会通过 Fedora MagazineFedora Planet 公布。

关于 树莓派 A/A+ 型、 1 代 B/B+ 型、零/零W(Zero/ZeroW)以及计算模组(Compute Module)的支持情况如何?

这些都不支持!

Fedora 现在不会,将来也不会支持 ARMv6 处理器。近年来我们多次尝试过支持,最好的结果便是基于 Fedora 23 的 Pignus 。更多信息请访问 Pignus 官网。对于计算模组 3(Compute Module 3,CM3)的支持,上游已经加入到 4.20 内核之中了,我们也会在 Fedora 30 的时候支持 CM3 及其衍生设备。

树莓派支持哪些 USB 设备?

大部分 USB-2 兼容设备在 Fedora 上都是支持的。树莓派硬件对于 USB 总线有一些限制,请参考这里的文档

树莓派上板载的 WiFi 和蓝牙支持吗?

Wi-Fi:

树莓派 3 代和 3 代 B+ 上的板载 WiFi 可以在 Fedora 29 上可以开箱即用。之前在 aarch64 架构上使用 Wi-Fi 有一个 bug,已经在 4.19.2-301 中得以修复。最新的内核/linux-firmware 固件同样支持最先的稳定发行版本。

通过命令行使用 Wi-Fi

如果你是通过最小化镜像或服务器(server)镜像安装的,那么你可以通过命令行来配置设备使用 Wi-Fi:

# 显示网络列表
nmcli device wifi list
# 连接
nmcli device wifi connect $SSID --ask

蓝牙:

蓝牙正在支持情况良好,也比较稳定了。设备有时会自带一个通用蓝牙地址,不过基本运行良好,无需进行配置。

声音正常吗?

Fedora 中包含了对 HDMI 音频输出的支持,但是模拟端口尚不支持。 USB 接口的音频输出应该也可以良好地支持。

外接摄像头可用吗?

暂不支持。 对流媒体和专用媒体加速器的支持尚需时日。

加速媒体解码可用吗?

不可用。目前还没有上游核心支持,而且其所需的多项内核子系统仍有待支持。

HDMI-CEC 可用吗?

可用。目前已经获得了上游的新的 CEC 支持。可以看到有一个 /dev/cec0 的字符设备,v4l-utils 包中只要是支持使用 rc-cec 键位布局的 IR 遥控的应用都可以访问,命令行下也有一个 cec-ctl 工具可用。

树莓派触摸屏支持吗?

上游正在做针对官方树莓派触摸屏的支持工作,从 4.10 内核已经开始初步支持了,参见 tracked upstream。Fedora 很快会进行审阅补遗。上游尚未发行触摸屏驱动。另外目前暂无计划支持其他触摸屏。

复合端子输出支持吗?

当前 Fedora 稳定发行版暂不支持,不过上游的 4.10 内核已经加入核心支持了。部分补丁尚有缺失,我们会尽快加入到 Fedora 内核之中。

扩展板 HATs 支持吗?

简而言之,还不支持。

个中缘由说来话长。Fedora 自带的驱动可以支持大部分 40 针 HAT 连接器的硬件接口。包含在大量通用 HAT 中的硬件驱动也同样在 Fedora 中启用支持了。支持 HAT 扩展板主要是需要使用设备树覆盖。内核与 u-boot 2016.09 引导器支持手动加载覆盖。目前上游尚未就自动加载这些覆盖的方法达成共识,也就意味着不能通过一个「覆盖管理器」(又名 Cape 管理器或其他名字)来读取 EEPROM ID 并自动加载适当的覆盖。同样也未就构建二进制 blob 覆盖的 dtc(设备树编译器)扩展和覆盖文件的确切格式达成共识。目前有一大批人正在着力解决该问题,以使 Fedora 可以尽快更好地支持 HAT(树莓派),Cape(BeagleBone),DIP(C.H.I.P)和 Mezzanine(96 板)。

首先着重于支持的 HAT 是树莓派官方的传感器 Sense HAT。手动构建加载覆盖以提供板载设备访问的过程会被记录成文档,并作为示例方法,展示如何临时手动实现此类需求及其过程原理。相关文档在完成后会第一时间添加在这里。

使用 config.txt

config.txt 目前只能用于基本的配置。由于开源 vc4 GPU 驱动的使用,大部分视频配置已经在 Linux 中完成了。

目前还不支持使用 config.txt 对HATs 进行配置,不过我们正在努力研究。

支持设备树覆盖吗?

目前只能在 u-boot 和 Linux 内核中对覆盖基础性地支持,但是覆盖管理器还没有进入到上游之中。

支持 GPIO 吗?

现在使用了 libgpiod 并辅以其他的实用工具,可以支持 GPIO 了。但是 RPI.GPIO 目前尚不支持。

支持 SPI 吗?

是的,支持基础 SPI 。

支持 I2C 吗?

是的,支持基础 I2C 。

我该如何使用串行控制台?

由于需要设备运行于低速状态,在树莓派 2 代和 3 代上串行控制台是默认禁用的。如需连接 USB 和 TTL 适配器请参考 Adafruit 上的这篇教程。你需要一条 3.3 伏特的 USB 转 TTL 串行线,例如 Adafruit 上的这个

如需启用串行控制台请分别参照树莓派 2 代和 3 代相应的步骤,两者是有些许差异的:

树莓派 2 代:

  • 在 PC 上插入 micro SD 卡
  • 在 VFAT 分区编辑 config.txt 文件并取消注释 enable_uart 这一行:
enable_uart=1
  • 在 boot 分区编辑 extlinux/extlinux.conf 并添加 "console=tty0 console=ttyAMA0,115200" 到最后一行,最终应该变成类似这样:
append ro root=UUID="LARGE UUID STRING OF TEXT" console=tty0 console=ttyAMA0,115200
  • 安全缷载 micro SD 卡
  • 将 micro SD 卡插入树莓派,连接串行控制台,通电开机

树莓派 3 代:

  • 在 PC 上插入 micro SD 卡
  • 在 VFAT 分区编辑 config.txt 文件并取消注释 enable_uart 这一行:
enable_uart=1
  • 在 boot 分区编辑 extlinux/extlinux.conf 并添加 "console=tty0 console=ttyS0,115200" 到最后一行,最终应该变成类似这样:
append ro root=UUID="LARGE UUID STRING OF TEXT" console=tty0 console=ttyS0,115200
  • 安全缷载 micro SD 卡
  • 将 micro SD 卡插入树莓派,连接串行控制台,通电开机