树莓派4B安装Arch Linux ARM (aarch64)

在树莓派4B上安装Arch Linux ARM (aarch64)

设备准备

  • 设备型号:树莓派4B,4GB内存
  • SD卡:确保SD卡使用dos标志(MBR分区表),GPT分区表不支持。

主要教程

参考官方教程:Arch Linux ARM for Raspberry Pi 4

下载aarch64镜像

下载适用于树莓派4B的Arch Linux ARM (aarch64)镜像:

ArchLinuxARM-rpi-aarch64-latest.tar.gz

安装步骤

1. 准备SD卡

  1. 使用工具(如fdiskgparted)将SD卡格式化为dos分区表。
  2. 创建两个分区:
    • boot分区:FAT32格式,建议大小为200MB。
    • root分区:EXT4格式,占用剩余空间。

2. 写入镜像

  1. 将下载的ArchLinuxARM-rpi-aarch64-latest.tar.gz解压到root分区:

    1
    sudo tar -xpf ArchLinuxARM-rpi-aarch64-latest.tar.gz -C /mnt/root
  2. 将boot分区的文件复制到SD卡的boot分区。

3. 修改配置文件

注意:不要执行官方Wiki中的sed -i 's/mmcblk0/mmcblk1/g' root/etc/fstab操作,否则系统会进入紧急模式。树莓派4B的设备名仍然是mmcblk0,无需修改。

4. 修改uboot.txt

在boot分区下找到uboot.txt文件,使用vim或其他编辑器修改以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# After modifying, run ./mkscr

# Set root partition to the second partition of boot device
part uuid ${devtype} ${devnum}:2 uuid

setenv bootargs console=ttyS1,115200 console=tty0 root=PARTUUID=${uuid} rw rootwait smsc95xx.macaddr="${usbethaddr}"

if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /Image; then
if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /dtbs/${fdtfile}; then
if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /initramfs-linux.img; then
# booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}; # 修改
booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr};
else
# booti ${kernel_addr_r} - ${fdt_addr_r}; # 修改
booti ${kernel_addr_r} - ${fdt_addr};
fi;
fi;
fi

修改后,安装uboot-tools并生成新的启动脚本:

1
2
pacman -S uboot-tools
./mkscr

5. 启动系统

  1. 将SD卡插入树莓派4B并开机。
  2. 默认用户和密码:
    • 用户:alarm,密码:alarm
    • 用户:root,密码:root

6. 初始化系统

  1. 启动后,首先初始化pacman密钥:

    1
    2
    pacman-key --init
    pacman-key --populate archlinuxarm
  2. 如果系统时间不准确,可能会导致网络服务无法使用(如pacman升级)。可以通过设置NTP服务器来同步时间:

    1
    timedatectl set-ntp true

总结

通过以上步骤,你可以在树莓派4B上成功安装Arch Linux ARM (aarch64)。虽然过程中需要手动修改一些配置文件,但这是确保系统正常启动的关键步骤。