2020-09-08 | 研究与探索 | UNLOCK

在树莓派 Zero W 上安装 Arch Linux

通过参与WebAssembly 中文社区的活动,我得到了了一块树莓派 Zero W(感谢 Second State 的赞助)。上网浏览相关信息时有人提到树莓派可以装 Arch Linux,正好一直想尝试下这个发行版,就决定装它了。

安装步骤

树莓派官网的下载页面并没有 Arch Linux,实际上 Arch Linux 官方也并不支持 ARM 架构,但是有专门的 Arch Linux ARM 发行版,里面直接提供专用于树莓派的系统镜像下载与安装步骤(需要点击“installation”)。

安装过程是在 SD 卡上建立引导分区和主分区,并复制相应文件,照着做就行,其中第 4 步可以使用 mkfs.f2fs 将主分区格式化为更适合 SD 卡的 f2fs 文件系统,此时要记得安装 f2fs-tools 包。

按照安装步骤进行到第 7 步后,要根据参考文章设置 WIFI 的 SSID 与密码,树莓派 Zero W 没有以太网接口,要通过 WIFI 接入网络。如果要连接的 WIFI 设置了隐藏 SSID,还需要更改 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf,具体方法是将 SD 卡中主分区(比如我的是 /dev/sb2)挂载到文件夹(比如 root),然后编辑 root/etc/wpa_supplicant/wpa_supplicant-wlan0.conf,向 network= 后面的块中加一行 scan_ssid=1,顺便删了 # 开头的明文密码注释,变成类似这样:

1
2
3
4
5
network={
scan_ssid=1
ssid="MySSID"
psk=xxxxxxxxxxxxxx
}

就可以继续执行安装步骤了。


2021/02/19 更新:按照 https://ladvien.com/installing-arch-linux-raspberry-pi-zero-w/ 设置网络。


2021/03/30 更新:

如果要从串口登录机器,需要在启动分区(boot 文件夹)的 config.txt 添加一行 dtoverlay=disable-bt 来禁 用蓝牙,才能让 Pin 8 和 Pin 10 成为登录串口的 TXD 和 RXD。

另外,Arch Linux 使用串口设备(/dev/ttyUSBN/dev/ttySN 等)的用户组是 uucp

系统设置

成功安装系统,并通过 SSH 连接到树莓派后,还有一些后续的设置需要完成。

首先,不要忽略安装指南第 10 步,初始化 pacman 密钥环:

1
2
$ pacman-key --init
$ pacman-key --populate archlinuxarm

然后,设置 pacman 镜像(推荐清华大学开源软件镜像站)。

由于没安装 vim,在修改 /etc/pacman.d/mirrorlist 时只能使用原版 vi,在这里是个指向 /bin/ex 的链接,十分蛋疼,在 INSERT 模式下不能按 Enter 键、方向键,所以设置镜像并更新后第一件事最好就是安装 vim 并把 /bin/vi 替换为指向 /bin/vim 的链接。

接下来是安装 archlinux-keyring,在 Arch Linux ARM 中并没有默认安装。然后才能顺利安装 ArchlinuxCN

安装 Arch4edu 需要导入指纹为 7931B6D628C8D3BA 的 GPG 公钥,然而几个著名的 keyserver 国内都难以访问,我找到了一个可以访问的网站 https://sks-keyservers.net/,执行以下命令即可导入公钥:

1
2
3
$ pacman-key --recv-keys 7931B6D628C8D3BA --keyserver pool.sks-keyservers.net
$ pacman-key --finger 7931B6D628C8D3BA
$ pacman-key --lsign-key 7931B6D628C8D3BA

参考文章