【NOTE】树莓派4B使用archlinux aarch64

吃灰好几个月的树莓派被我翻出来了,apt用着太不习惯了,就想着换回吃豆人

清点

树莓派4B 4GB内存 有屏幕有键鼠,接网线,32GB内存卡

攻略

archlinuxarm官方的wiki【小部分内容是过时的且不宜使用的 截至20240131】
https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4

大部分内容都没问题,开干吧!

开始吧

操作环境为linux系统

  1. 在北外的开源站上 https://mirrors.bfsu.edu.cn/archlinuxarm/os/ 找到ArchLinuxARM-rpi-aarch64-latest.tar.gz下载(包名可能会变所以不放直链)
  2. 读卡器插卡接上PC,用fdisk分区,跟wiki的操作几乎一毛一样(除了不用wget再下载一次)。不要使用gpt分区格式,在第七步umount前暂停下,需要额外处理下boot分区
  3. uboot应该是有问题的,这样直接插树莓派会出现mmc1: unrecognized SCR structure version 4``mmc1: error -22 whilst initialising SD card的提示(不懂,后续学下),根据论坛上老哥给出的处理方法。修改boot分区下的uboot.txt的以booti开头的两行,用vim直接改就行,内容放在最后面
  4. 安装uboot-tools pacman -S uboot-tools,然后在boot分区下执行./mksrc
  5. umount后插卡到树莓派开机,不要执行wiki的sed操作,可能是过时的内容,实操发现SD卡设备名并没有变成mmcblk1,而是默认的mmcblk0,所以不用改。

uboot.txt的内容如下

# 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

然后

这样应该就能启动成功了,如果没有网线的话,可以连下wifi,wifi-menu按提示连接就行

默认用户名是alarm:alarm以及root:root。ssh默认不允许root登录。

第一件事当然是先换源,参考https://mirrors.bfsu.edu.cn/help/archlinuxarm/

然后

pacman-key --init
pacman-key --populate archlinuxarm
pacman -Syyu
reboot

pacman -S vim sudo

后面好像没啥需要再说明的了。

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注