Install Arch Linux Arm on Raspberry Pi

on 2024-09-26

安装系统

  1. 将sd卡插入电脑, 然后使用以下命令进行分区

    fdisk -l
    # 查看系统的存储设备, 找到你的sd卡名称
    # 例如我的sd卡名字为/dev/sdb
    fdisk /dev/sdb
    # 进行sd卡分区
    # 按下o, 清除原始的分区信息
    # 按下n, 添加新的分区, 随后按下p, 制定新分区为主分区, 按下1标记为1号分区, 按下 ENTER 使用默认值, 随后输入 +500M 为分区分配500M的大小.
    # 按下t, 随后按下c 标记我们第一个分区的类型为 W95 FAT32 (LBA).
    # 按下n, 随后按下p,  使用2标记第二个分区, 连续按下两次 ENTER 将所有剩余容量分配给二号分区
    # 按下w, 写入分区表
    
  2. 格式化分区内容

    mkfs.vfat /dev/sdb1
    # 将sdb1文件格式设置为 vfat
    sudo mkfs.ext4 /dev/sdb2
    # 将sdb2文件格式设置为ext4
    
  3. 挂载分区

    mkdir boot root
    # 添加挂载路径
    mount /dev/sdb1 boot
    mount /dev/sdb2 root
    
  4. 下载最新的系统文件并解压

    wget https://os.archlinuxarm.org/os/ArchLinuxARM-rpi-latest.tar.gz
    bsdtar -xpf ArchLinuxARM-rpi-latest.tar.gz -C root
    sync
    # sync 执行刷盘
    mv root/boot/* boot
    sync
    umount root/ boot
    rm -rf boot/ root/
    
  5. AArch64 安装(可选)

    如果你安装的是 aarch64 版本, 修改下载系统镜像

    https://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
    

    如果你使用的是树莓派 4b 或者zero 2w 需要在取消挂载前执行

    sed -i 's/mmcblk0/mmcblk1/g' root/etc/fstab
    

连接到树莓派

  1. 找到你的树莓派 IP, 可以去路由器查看, 或者使用 nmap 命令

    nmap 192.168.1.0/24
    
  2. 使用 ssh 连接至树莓派

    ssh alarm@192.168.1.100
    # 密码为alarm
    

初始化相关设置

  1. 开启 wifi

    wifi-menu -o
    # 连接并写入配置
    netctl enable wlan0-ABCDEF
    # 自动启动 wifi 链接
    
  2. 初始化 pacman 的 keyring

    pacman-key --init
    pacman-key --populate archlinuxarm
    pacman -Syyu
    # 执行系统更新
    
  3. 修改用户名称及密码

    usermod -l xxl alarm
    usermod -d /home/xxl -m xxl
    groupmod -n xxl alarm
    passwd xxl
    
  4. 安装相关的软件

    pacman -S vim git sudo bash-completion base-devel glibc docker docker-compose docker-buildx
    
  5. 修改主机名

    vim /etc/hostname
    
  6. 配置 sudo

    vim /etc/sudoers
    # 选择取消以下两项里其中一个的
    # # %wheel ALL=(ALL) ALL
    # # %wheel ALL=(ALL) NOPASSWD: ALL
    
  7. 安装 yay

    # 安装git并编译 yay
    git clone https://aur.archlinux.org/yay.git
    cd yay
    makepkg -si
    
  8. 本地化设置

    vim /etc/locale.gen
    # 取消 zh_CN.UTF-8 UTF-8 和 en_US.UTF-8 UTF-8 的注释
    locale-gen
    # 生成本地化文件
    echo LANG=zh_CN.UTF-8 > /etc/locale.conf
    # 设置本地化
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    # 设置时区
    
  9. 设置docker

    systemctl enable --now docker
    # 启动 docker 并设置为开启自启
    gpass -a xxl docker
    # 将用户添加到 docker 组中