m (Wi-Fi firmware for 3B+) |
m (remove a blank line) |
||
Line 159: | Line 159: | ||
目前有几个文件你可能需要修改,不过我们暂时还不能参与再分发这些文件。你可以先用板载有线网络启动或者预先在 SD 卡中设置好。在树莓派中你可以执行如下命令,成功后重启系统即可使用 WiFi 了。 | 目前有几个文件你可能需要修改,不过我们暂时还不能参与再分发这些文件。你可以先用板载有线网络启动或者预先在 SD 卡中设置好。在树莓派中你可以执行如下命令,成功后重启系统即可使用 WiFi 了。 | ||
===== 树莓派 3 代 ===== | ===== 树莓派 3 代 ===== |
Revision as of 01:57, 26 April 2018
引言
树莓派是一块信用卡大小、基于 ARM 的单板计算机(SBC)。Fedora 从 Fedora 26 及更新的版本开始原生支持树莓派 2 代和 3 代 B 型,无需再用第三方内核或脚本修改官方镜像。本文将介绍如何上手,以及关于支持情况会有哪些常见问题(FAQ)等。
支持的硬件
目前只支持树莓派 2 代和 3 代 B 型。
前期准备
- 树莓派 2 代和 3 代 B 型
- 高质量的 SD 卡 ( eLinux 有一份兼容性列表)
- HDMI 显示器或电视,一副 USB 键盘和鼠标
- 合适的供电装置。 树莓派 2 代建议至少 2A, 3 代建议至少 2.5A。 详情请访问 [1]
制备 SD 卡还需要:
- 一台运行 Windows 或 macOS 或 Linux 系统的电脑
- SD 读卡器
下载 Fedora ARM 镜像
Fedora 26 已经原生支持树莓派,关于目前的特性请阅读 FAQ 。
Fedora 26 镜像可以从这里下载:
制备 SD 卡
你可以很容易地在 Fedora 或其他 Linux 发行版,或者 macOS 、Windows 上将镜像写入 SD 卡中。默认设置会提供 HDMI 显示器上的用户可视界面和对键盘鼠标的支持。如果你想输出到串行控制台,请参考 FAQ 中的这一部分.
Fedora 或其他 Linux 发行版
脚本化
- 使用 fedora-arm-installer
安装 arm-image-installer:
dnf install -y fedora-arm-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 文件。
手动
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
初始化启动后调整
另一种机制就是在你启动树莓派并完成初始化建立帐户后进行调整。
# 扩增第 4 个分区(本示例中为 mmcblk0 ) growpart /dev/mmcblk0 4 # 扩展文件系统以使用全部可用空间 resize2fs /dev/mmcblk0p4 # 调整服务器(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 搭载的桌面环境都可用,而且 3D/2D 也是开箱即用的。这得益于针对视频核心 IV GPU 的开源加速驱动。
会有更多针对硬件的增强支持吗?
会的。新的增强支持即将到来,只要完备就会在标准 Fedora 更新机制中分发。如果有新的重大特性,我们会通过 Fedora Magazine 或 Fedora Planet 公布。
关于 树莓派 A/A+ 型、 1 代 B/B+ 型、零/零W(Zero/ZeroW)以及计算模组(Compute Module)的支持情况如何?
这些都不支持!!!
Fedora 现在不会,将来也不会支持 ARMv6 处理器。近年来我们多次尝试过支持,最好的结果便是基于 Fedora 23 的 Pignus 。更多信息请访问 Pignus 官网。新的计算模组 3(Compute Module 3)发售后我们会跟进支持,因为它基于和树莓派 3 代相同的芯片。
Fedora 24 可以支持吗?
不支持。团队资源有限,重心会放在 Fedora 25 之后的版本和 rawhide 版本上。虽然可以支持,但是需要相当大的工作量。现在 Fedora 26 已经发布而且在树莓派上已经非常稳定了。
树莓派支持哪些 USB 设备?
大部分 USB-2 兼容设备在 Fedora 上都是支持的。树莓派硬件对于 USB 总线有一些限制,请参考这里的文档。
树莓派上板载的 WiFi 和蓝牙支持吗?
WiFi:
树莓派 3 代和 3 代 B+ 上的板载 WiFi 可以在 Fedora 上正常使用。
目前有几个文件你可能需要修改,不过我们暂时还不能参与再分发这些文件。你可以先用板载有线网络启动或者预先在 SD 卡中设置好。在树莓派中你可以执行如下命令,成功后重启系统即可使用 WiFi 了。
树莓派 3 代
sudo curl https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/master/brcm80211/brcm/brcmfmac43430-sdio.txt -o /lib/firmware/brcm/brcmfmac43430-sdio.txt
树莓派 3 代 B+
cd /lib/firmware/brcm && sudo curl -O https://github.com/RPi-Distro/firmware-nonfree/blob/master/brcm/brcmfmac43455-sdio.clm_blob -O https://github.com/RPi-Distro/firmware-nonfree/blob/master/brcm/brcmfmac43455-sdio.txt
蓝牙:
目前尚未测试,但是既然它属于串口而且可访问,应该也是可用的。只是简单测试过,但是在实际使用中常常会拖垮整个设备,所以不推荐。如果你感兴趣的话,欢迎深入研究一下,也许可以提供更多有用的信息。
够胆的话,你可以用如下命令测试一下:
hciattach /dev/ttyAMA0 bcm43xx 3000000 noflow -
声音正常吗?
Fedora 中包含了对 HDMI 音频输出的支持,但是模拟端口尚不支持。 USB 接口的音频输出应该也可以良好地支持。
外接摄像头可用吗?
暂不支持。 对流媒体和专用媒体加速器的支持尚需时日。
加速媒体解码可用吗?
不可用。目前还没有上游核心支持,而且其所需的多项内核子系统仍有待支持。
HDMI-CEC 可用吗?
可用。目前在 Fedora 中使用libcec 来进行支持。
树莓派触摸屏支持吗?
上游正在做针对官方树莓派触摸屏的支持工作,从 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。手动构建加载覆盖以提供板载设备访问的过程会被记录成文档,并作为示例方法,展示如何临时手动实现此类需求及其过程原理。相关文档在完成后会第一时间添加在这里。
支持设备树覆盖吗?
目前只能在 u-boot 和 Linux 内核中对覆盖基础性地支持,但是覆盖管理器还没有进入到上游之中。
支持 GPIO 吗?
GPIO 目前尚不能被很好地支持,因为它需要映射的设备树覆盖上。在 F-26 周期以及 Fedora 27 中会对其进行改进。
支持 SPI 吗?
是的,支持基础 SPI 。
支持 I2C 吗?
是的,支持基础 I2C 。
树莓派 3 的 aarch64 支持
由于时间和可用资源有限,针对 Fedora 25 的工作重点放在了使用统一的磁盘镜像来同时为 2 代和 3 代树莓派提供优雅的体验。当初这些工作开始的时候并不明确 aarch64 内核支持是否会按时在上游中加入。我们期望能在 Fedora 27 中为树莓派 3 提供 aarch64 单板机设备 的官方支持。在 Fedora 25 中已经做了大量的工作,但是完成 aarch64 的支持依然任重道远。
我该如何使用串行控制台?
由于需要设备运行于低速状态,在树莓派 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 卡插入树莓派,连接串行控制台,通电开机