树莓派Arch Linux ARM详细安装指南:从零打造高度定制的极简系统

实话实说:Arch Linux 看起来有些令人畏惧。但如果你愿意折腾,又想完全掌控自己的树莓派,它确实是一个很棒的选择。唯一的问题是,标准的 x86 版 Arch 无法在树莓派上运行,你需要一个专门为 ARM 处理器构建的版本。下面我将一步步带你完成安装。
你可以通过下载 Arch Linux 的 ARM 版(而非主发行版)在树莓派上使用它。这个版本专门针对 ARM 架构构建,支持近几代所有树莓派型号。
虽然安装流程比典型的系统安装要稍微复杂一些,但整体思路其实很直接。跟着走一遍,你也能在这个过程中学到许多 Linux 底层的工作方式。现在,让我们一起动手构建一台属于自己的 ArchPi 吧。
目录
开始安装前需要准备的硬件与软件
第一步:用树莓派系统制作可启动 U 盘
第二步:为 Arch 准备好 SD 卡
第三步:将 Arch Linux ARM 安装到树莓派
第四步:树莓派上的首次 Arch 启动与基本配置
第五步:安装后的工作——获取新软件与桌面环境
开始安装前需要准备的硬件与软件
在动手之前,先快速检查一下,确保你手上的硬件和软件能支持树莓派安装 Arch。
硬件
下面列出的部件,大多是你平时玩树莓派就会用到的。唯一需要特别留意的是,你需要额外准备一个 U 盘。
- 树莓派:Arch 目前支持的型号包括树莓派 4、3、2 以及 Zero 2。官方的镜像要求至少 512MB 内存,这些受支持型号的 RAM 都满足要求。建议优先使用标准型号,例如树莓派 4B 或 3B+,以获得更强的计算性能。
- 电源适配器:强烈建议使用官方树莓派电源,避免因供电不足导致各种奇怪的问题。
- 键盘和鼠标:插上普通的 USB 键盘和鼠标即可。
- SD 卡:8GB 的 SD 卡就够安装 Arch 了,但我更推荐使用 32GB 或更大容量的卡,以免日后存储捉襟见肘。
- U 盘:我们将先从 U 盘启动树莓派,这样就能腾出 SD 卡插槽,专门用来给 Arch 安家。
软件
- 树莓派系统(Raspberry Pi OS):Arch 的安装过程需要一个已经运行起来的 Linux 环境,而树莓派系统正好能提供我们需要的所有工具。
- 树莓派镜像烧录器(Raspberry Pi Imager):我们平时装系统用的工具,这里将用它来制作可启动 U 盘。
- Arch Linux ARM:这就是我们最终要安装的系统,有时也会简称 ALARM,它是一个专门为树莓派这类 ARM 处理器打造的特殊 Arch 变体。
第一步:用树莓派系统制作可启动 U 盘
安装 Arch 的最佳方法,是从另一个正在运行的 Linux 系统中进行操作。所以第一步,就是先创建一个可以启动到树莓派系统的 U 盘。这样一来,你既有了一个完整的 Linux 操作环境,又能把 SD 卡插槽空出来留给 Arch。
提示:我在这份指南里用的是 U 盘,因为觉得这样更方便。不过,还有另一种做法:准备两张 SD 卡,一张装着系统直接插在卡槽里,另一张通过 USB 读卡器连接,然后把 Arch 装到读卡器里的那张卡上。
1.1 用 Raspberry Pi Imager 创建可启动 U 盘
具体步骤如下:
打开树莓派镜像烧录器,并按下图进行选择。如果还没有安装该工具,可以先从官网下载。https://www.raspberrypi.com/software/
设备:选择你的树莓派型号。这里以树莓派 4 为例。
操作系统:选择 “Raspberry Pi OS Lite”(轻量版)。我们不需要完整的图形桌面环境,用 Lite 版可以节省下载和烧录的时间。

- 存储:插入 U 盘,在这里选中它。
- 自定义设置:建议在这里提前设置好第一个用户的账号与密码,或者如果想要在跟随本教程时方便复制粘贴命令,可以开启 SSH。更多细节可以参考我的完整入门指南:https://raspberrytips.com/raspberry-pi-imager-guide/
- 写入:点击 “WRITE” 按钮,等待过程完成。
现在 U 盘里已经有一个 Linux 系统了,接下来我们需要让树莓派从它启动。
1.2 为树莓派开启 USB 启动
不同板型的开启方法稍有区别,请根据你的树莓派型号跳到对应的小节。
为较新的树莓派开启 USB 启动
树莓派 Pi 5 / 500 / 500+、Pi 4 / 400 以及 Pi 3B+ 等较新的型号,出厂默认一般都支持 USB 启动。
你可以通过下面这些步骤来确认和设置:
- 运行树莓派软件配置工具:
sudo raspi-config
- 依次进入 “Advanced Options” → “Boot Order”。

- 选择 “NVMe/USB Boot”。

- 退出配置工具。
- 把 U 盘插到树莓派上。
- 重启树莓派。
为较旧的树莓派开启 USB 启动
像树莓派 3B、3A+ 以及 2B 这类较老的型号,操作会稍微复杂一些。你需要主动开启 USB 主机启动模式,并对板子进行一次性的编程。
警告:这个操作是对板子的一次性永久修改,需要谨慎。
- 启用 USB 主机模式:
echo program_usb_boot_mode=1 | sudo tee -a /boot/firmware/config.txt
- 重启:
sudo reboot now
- 验证修改是否生效:
vcgencmd otp_dump | grep 17:
- 如果输出结果中出现了
0x3020000a,则说明编程成功。

- 确认成功后,为了整洁,可以把刚才添加的那条命令从配置文件中移除:
sudo sed -i 's/program_usb_boot_mode=1//g' /boot/config.txt
1.3 从 USB 启动
一切顺利的话,现在可以正式从 U 盘启动了。
- 拔掉 SD 卡,只插着刚才做好的 U 盘。
- 给树莓派通电。
- 用之前烧录时创建的用户账号和密码登录。
恭喜,已经跨过了第一道门槛。你现在正直接从 U 盘运行一个完整的树莓派系统,这意味着你手头有了一个可用的 Linux 环境,而 SD 卡插槽也完全空出来,等着迎接 Arch 的到来。
第二步:为 Arch 准备好 SD 卡
既然树莓派正从 U 盘运行 Linux 系统,我们就可以放开手脚来收拾 SD 卡了。这一步的核心操作是:
- 确定 SD 卡的设备名称。
- 重新分区并格式化,创建全新的分区表。
- 把分好的区挂载到系统上,以便后续拷贝文件。
下面来详细拆解每个步骤。
2.1 确定你的 SD 卡设备名
首先,把准备安装 Arch 的那张 SD 卡插入树莓派。
系统会自动为它分配一个设备名称,我们可以用 fdisk 工具把它找出来:
sudo fdisk -l

设备名称通常跟在 /dev/ 后面。在上面的例子里,整张卡的设备名就是 mmcblk0。大多数情况下,这个名称都是默认的。
(注意,我们需要的是整个磁盘的设备名,所以不要选 mmcblk0p1 或 mmcblk0p2,那些代表的是卡上的分区。)
2.2 删除旧分区
接下来,我们开始编辑 SD 卡上的分区布局。
- 使用 fdisk 工具,并用刚才确认的设备名:
sudo fdisk /dev/mmcblk0
(如果你的设备名不同,请相应修改。)
- 进入 fdisk 后,可以先按
m查看所有可用命令。

- 按
o键,它会清除 SD 卡上原有的分区表,还你一张干干净净的卡。 - 按
p键列出当前分区,此时应该显示没有任何分区了。

2.3 为 Arch Linux 创建两个新分区
接下来,继续在 fdisk 里创建两个全新的分区,作为 Arch 的安身之所。
分区一:启动分区(boot)
我们将创建的第一个分区是启动分区。
- 按
n创建新分区。 - 选择
p作为主分区(primary)。 - 分区编号选择
1。 - 当提示 “First sector” 时,直接按回车,接受默认值。
- 当提示 “Last sector” 时,输入
+512M。

这样启动分区的大小就设为了 512MB。推荐用这个稍大的值,可以避免以后碰到头疼的空间不足问题,带来更顺畅的 Arch 体验。如果实在舍不得那点空间,最小也建议设为 +200M。
- 按
t更改分区文件系统类型。 - 输入
c,将它设置为 W95 FAT32(这种格式兼容性最好,方便启动引导器识别)。

分区二:根分区(root)
第二个分区将用来存放操作系统本身以及之后所有的用户文件。
- 再次按
n创建新分区。 - 同样选
p作为主分区。 - 分区编号选
2。 - 当提示 “First sector” 时,直接回车。这样第二个分区会紧挨着第一个分区末尾开始。
- 当提示 “Last sector” 时,再次回车。这表示使用 SD 卡上所有剩余空间。

- 这次不需要手动更改文件系统类型。根分区需要是 Linux 类型,而 fdisk 默认就已经是了。
- 按
p再次查看你规划好的分区布局。
它看起来应该和下方截图类似(当然,你的可用存储空间会根据 SD 卡实际容量有所不同)。

- 确认无误后,按
w键,将刚才的所有修改真正写入 SD 卡。

- 最后,再跑一次列表命令,确认分区已经正确写入:
sudo fdisk -l

不出意外的话,你应该能看到两个分区——启动分区和根分区,一切按计划就绪。
2.4 格式化并挂载分区
安装 Arch Linux ARM 和安装普通系统不太一样:没有一个图形化的安装程序一步一步引导你。取而代之的是,我们需要手动把系统文件复制过去。
为了让文件能顺利复制,需要先格式化刚刚创建的分区,然后把它们挂载到系统上的临时目录。说得简单点,就是先给分区准备文件系统,再给它们一个“入口”,让你能往里塞东西。
格式化并挂载启动分区
- 在 SD 卡的启动分区上创建 FAT32 文件系统:
sudo mkfs.vfat /dev/mmcblk0p1
- 创建一个临时的挂载目录:
mkdir boot
- 把启动分区挂载到这个
boot目录上:
sudo mount /dev/mmcblk0p1 boot
格式化并挂载根分区
接下来对根分区做类似的操作,不过这次创建的是 ext4 文件系统。ext4 是 Linux 上强大且可靠的默认选择,特别适合用来保存系统和用户数据。
- 创建 ext4 文件系统:
sudo mkfs.ext4 /dev/mmcblk0p2

(注意:如果执行后看起来像是卡在 “Creating Journal” 不动了,请耐心等等,它其实还在后台工作。一直等到屏幕上出现 “done” 并回到命令提示符为止。)
- 创建另一个临时目录用于挂载:
mkdir root
- 把 SD 卡的根分区挂载到这个
root目录下:
sudo mount /dev/mmcblk0p2 root
大功告成!现在分区已经划分好、格式化完毕,并且在系统中也有了可供操作的路径。接下来,就可以正式把 Arch 装进 SD 卡了。
第三步:将 Arch Linux ARM 安装到树莓派
现在 SD 卡已经万事俱备,该动手安装 Arch 了。主要步骤包括:
- 下载 Arch Linux ARM 系统压缩包。
- 用特殊方式把文件解压到 SD 卡的根分区上。
- 让启动加载器能正确找到并运转起来。
我们一步步来。
3.1 下载 Arch Linux ARM
首先,去 Arch Linux ARM 的官方下载页面获取对应的安装包。
https://archlinuxarm.org/about/downloads
你需要根据自己手里树莓派的型号,选择正确的文件。

- 对于树莓派 4、3B+ 以及 Zero 2:请选择 ARMv8 架构的压缩包。
- 对于树莓派 2:请选择 ARMv7 架构的压缩包。
- 对于树莓派 5:截至本文更新时,官方尚未正式提供支持。
你可以随时在上述链接里查看最新的支持列表。然后,使用 wget 命令下载对应的文件。比如:
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
3.2 解压 Arch Linux ARM 压缩包
接下来,我们必须用一种特殊的方法来解压这个压缩包,以便完整保留所有文件属性,否则 Arch 很可能无法正常启动。这里我们要用到的工具是 bsdtar。
- 安装
bsdtar:
sudo apt install libarchive-tools
- 这个命令需要以 root 身份运行,仅仅在前面加
sudo还不够。所以,我们先切换到 root 用户,下面几步都将在 root 下完成:
sudo su
- 把压缩包的内容提取到 SD 卡挂载好的根分区目录(注意参数的大小写,
-xpf用于保留权限和属性):
bsdtar -xpf ArchLinuxARM-rpi-aarch64-latest.tar.gz -C root

(再次提醒:执行后请耐心等待,解压过程可能需要一点时间,屏幕看起来像是卡住了,实际上它正在后台默默干活。当命令提示符重新出现时,就说明解压完成了。)
- 强制将缓存中的数据写入磁盘:
sync
3.3 让启动加载器能够正常工作
全部文件都被提取到了一个目录里,我们需要把启动相关的文件移到正确的分区,并确保引导器在开机时能顺利加载它们。
移动启动文件
- 把解压出来的启动文件从根分区的 boot 目录中移动到挂载的启动分区:
mv root/boot/* boot
检查 fstab 文件以保障正常启动
fstab 是一个系统文件,它告诉 Arch 在启动时应该去挂载哪些分区,以及如何挂载它们。

潜在问题:Arch 需要通过 fstab 明确知道启动分区在哪里,否则启动过程中会出错。
解决方案:不同型号的处理稍有不同。
- 对于树莓派 3A+ 和树莓派 2:默认的 fstab 文件已经正确,无需修改。你可以放心跳到下一节,安全关机准备首次启动。
- 对于树莓派 4、3B+ 以及 Pi Zero 2:默认 fstab 中规定的设备号有误,不改的话,Arch 第一次启动时就会因为找不到启动分区而掉入紧急模式。所以你必须手动修正它。
为树莓派 4、3B+ 与 Pi Zero 2 修复 fstab
重要提示:如果你属于上述型号,却不做以下修改,那么 Arch 将无法正常启动,并会直接把你丢进一个救援 shell。
- 先看一眼当前的 fstab 内容:
cat root/etc/fstab
- 执行替换命令,把里面的 mmcblk0 全部改成 mmcblk1:
sed -i 's/mmcblk0/mmcblk1/g' root/etc/fstab
- 再次查看修改后的文件,确认改动正确:
cat root/etc/fstab

3.4 安全关机,准备首次启动
到这里,所有准备工作都已就绪。我们需要优雅地收尾,为第一次进入 Arch 做好准备。
- 卸载之前挂载的两个 SD 卡分区:
umount boot root
- 关机:
shutdown now
- 拔掉 U 盘:这块 U 盘的任务只是为了提供安装环境,现在已经不需要了。在本教程之后的行程里它不会再出现。
下一节,我们将首次踏入 Arch 的世界。
第四步:树莓派上的首次 Arch 启动与基本配置
系统已经安装完成,是时候启动进入 Arch 了。这一节的目标是让系统成功运行起来,并做好初步的使用配置。具体包含:
- 首次登录。
- 连接网络。
- 调整本地化设置。
- 初始化 Arch 的包管理器。
- 出于安全考虑更换默认账户密码。
我们逐一展开。
4.1 登录
重新给树莓派通电。开机时它会先尝试寻找 U 盘,找不到之后,就会自动从 SD 卡加载 Arch。
使用默认用户进行登录:
- 默认普通用户登录名和密码均为:
alarm / alarm
- 默认 root 用户登录名和密码也均为:
root / root
我建议先用 root 登录,完成后续涉及 sudo 配置等操作,因为用 root 最省事。
4.2 连接互联网
有线连接(以太网)
如果你插着网线,网络很可能已经自动连上了。可以简单测一下:
ping archlinux.org
如果能看到回应,就表示已经在线。
无线连接(Wi-Fi)
如果必须连接 Wi-Fi,需要先通过 wifi-menu 工具配置:
wifi-menu
在菜单中选择你的 Wi-Fi 网络,按回车。随后按回车给这个连接分配一个默认名称。接着会提示你输入 Wi-Fi 密码,正确输入后,应该就能连上。再 ping 一下看看:
ping archlinux.org
得到回应就说明连接成功。
4.3 配置本地化
接下来,我们让 Arch 懂得你的语言、时区等本土化设置。
键盘布局
默认的键盘布局是美式 English (us)。如果需要更换,先搜索可用的键位图名称:
localectl list-keymaps | grep -i [yourlanguage]
- 例如搜索法语的布局:
localectl list-keymaps | grep -i fr
- 然后加载你选中的键位图(将下面命令里的
us换成你搜到的具体名称):
loadkeys us
时区
要让系统时钟显示正确的时间,必须设定本地时区。
- 搜索可用时区,比如查看和欧洲相关的所有时区:
timedatectl list-timezones | grep -i europe

- 从列表里找到与你所在地匹配的时区名字并记下来。
- 设置时区,例如伦敦:
timedatectl set-timezone Europe/London
- 检查时区是否已正确生效:
timedatectl status
系统语言与区域设置(locale)
区域设置影响着界面语言、货币符号、数字格式等,非常重要。
- 编辑区域配置文件:
nano /etc/locale.gen
- 在里面找到你需要的区域行(格式大致为
语言_国家.字符集)。如果不确定,一律选 UTF-8 字符集即可。 - 把这一行前面的 # 号删掉,也就是取消注释。下面的例子中,我选的是 en_US.UTF-8。

- 按
Ctrl+X退出,按Y确认保存,再按Enter覆盖原文件。 - 生成 locale:
locale-gen
- 查看并确认:
locale -a
4.4 初始化包管理器 Pacman 并更新密钥环
Pacman 是 Arch 官方的包管理器,你以后安装和更新软件都得靠它。为了确保能正常接收经过签名的软件包,我们需要先初始化它的密钥系统。
- 先确保是 root 用户:
su
- 初始化 pacman 密钥,并填充 Arch Linux ARM 的官方密钥:
pacman-key --init
pacman-key --populate archlinuxarm
4.5 出于安全考虑,修改默认账户
安装后的系统用的是公开的默认账号,这很不安全。我们要马上修改 root 密码,然后更改默认普通用户的用户名及密码。
如果你现在不是 root,请先登出当前用户,再用 root 账户登录(用户名 root,密码 root)。
更改 root 密码
- 直接运行:
passwd
按提示设置一个复杂一点的新 root 密码。
更改默认普通用户账户
- 将原来的用户名
alarm改为你喜欢的新名字,比如pat:
usermod -l pat alarm
- 也为这个新用户设置密码:
passwd pat
- 迁移该用户的家目录,使之与新用户名匹配:
usermod -d /home/pat -m pat
授予你的用户 sudo 权限
为了让新创建的普通用户能够执行系统管理任务,必须赋予它 sudo 权限。
- 如果系统里没有安装 sudo,那就先装上:
pacman -S sudo
- 用特殊的安全编辑命令打开 sudoers 文件:
EDITOR=nano visudo
- 在文件中找到 “User privilege specification” 部分。
- 参照 root 那一行,在它下面为你刚刚创建的用户添加一条完全一样的配置。下面的示例中,
pi这个用户被赋予了 sudo 权限。

- 同样按
Ctrl+X,Y,Enter保存退出。 - 现在可以退出 root 用户,试着用你的新用户名登录。登录后使用
sudo命令应该不会再报错了。 - 连续输入
exit直到回到登录界面,用新用户名和密码登录。
4.6 收尾
- 最后,愉快地重启一下:
systemctl reboot now
欢迎来到你亲手打造的、功能正常的 Arch 系统。如果想继续安装图形桌面或者探索更多软件,请往下看。
第五步:安装后的工作——获取新软件与桌面环境
基础系统已经配置完毕,接下来真正玩转 Arch 的时刻到了。借助 pacman,你可以为系统添砖加瓦。这里我会展示如何更新系统、搜索安装软件,以及如何搭建一个图形化的桌面环境。
5.1 Pacman 常用命令速查
- 更新整个系统:
pacman -Syu
- 安装一个软件包:
pacman -S <包名>
- 搜索仓库中的软件包:
pacman -Ss <关键词>
- 彻底卸载某个软件包及不再需要的依赖:
pacman -Rsc <包名>
5.2 更新系统
拿到新系统后,第一件事就是更新所有已安装的软件包:
sudo pacman -Syu

提示:如果你是第一次运行 pacman,可能会弹出一个看起来有点困惑的选项,让你选择提供者(provider)。一般情况下,选择默认的那个就行,直接按回车确认。
看到提示时输入 Y 继续,pacman 便会开始下载并更新所有软件包。
注意:在首次系统全面更新的过程中,你可能会看到一些关于缺少固件模块的警告。这完全没关系,这些警告在 Arch 中很常见,它们通常与你树莓派上没有用到的硬件有关,不影响正常使用。
5.3 安装新软件
想找点什么新玩具?可以用 sudo pacman -Ss <关键词> 搜索仓库。下面是实操例子:
- 搜索:
sudo pacman -Ss neofetch
- 安装:
sudo pacman -S neofetch
除了 neofetch,你还可能会对这些软件包感兴趣:
wget:从命令行下载文件的好帮手。udiskie:插入 U 盘或移动硬盘后能自动挂载的小工具。zip:把文件打包成 zip 压缩包。unzip:解压 zip 文件。unrar:解压 rar 文件。yay:一个 AUR 助手,能帮你从庞大的 Arch 用户仓库(AUR)里安装第三方维护的软件。
5.4 安装桌面环境
由于 Arch 默认没有图形界面,你需要自己装一个。在 Linux 世界里,图形用户界面通常被称作桌面环境(DE)。Arch 几乎支持所有主流的 DE,你可以根据自己的口味和树莓派的性能来挑选。

不同桌面环境的安装命令略有差异,但整体套路是一样的:
- 安装该桌面的元软件包(meta-package):一个元包会顺带拉取许多必要的子软件包,从而提供一套完整的桌面体验。
- 安装一个显示管理器(display manager):图形化的登录管理器,能让你开机后自动进入带有 GUI 的登录界面。务必在安装后用 systemctl enable 启用它。
- 安装一个终端模拟器:在桌面里工作时,你仍然需要命令行。
- 安装一个网页浏览器:像 Chromium、Firefox 之类,让你能上网冲浪。
- 重启,然后用你的用户登录。
5.5 桌面环境安装范例:XFCE
我平时个人比较喜欢 Cinnamon 和 KDE Plasma,但很遗憾,在树莓派的 Arch 上我曾多次遇到它们崩溃或不稳定的情况,这些情况在其他硬件或发行版上并没有出现。因此,在下面的例子中,我将演示一个非常受欢迎且资源开销极低的桌面环境:XFCE。
- 安装 XFCE 桌面及其配套实用工具:
sudo pacman -S xfce4 xfce4-goodies

- 安装 LightDM 显示管理器,并让它随系统开机自动启动:
sudo pacman -S lightdm lightdm-gtk-greeter
sudo systemctl enable lightdm
- 如果你主要用 Wi-Fi,还需要安装网络管理工具,方便在桌面右上角点击连接:
sudo pacman -S networkmanager network-manager-applet
终端模拟器在上面的 xfce4 元包里已经附带(xfce4-terminal),不用额外再装。
安装浏览器 Chromium:
sudo pacman -S chromium
- 一切就绪,重启树莓派:
systemctl reboot now
重启后,如果你的屏幕上弹出了一个漂亮的图形登录界面,那么——成功了!

恭喜,你现在已经在树莓派上完美地跑起了 Arch Linux!如果日后在使用蓝牙、板载传感器或 GPIO 引脚时遇到困难,可以查阅专门针对树莓派的 Arch Linux ARM 维基:https://archlinuxarm.org/wiki/Raspberry_Pi
如果还需要更深入的帮助,古老的 Arch Wiki 里也沉淀了无数先行者踏平过的坑,上面很可能有你需要的答案:https://wiki.archlinux.org/
去吧,尽情享受你亲手打造的 ArchPi 所能带来的强大魔力。从今往后,你也可以毫不心虚地说一句:“我用的是 Arch”。