macbook pro 2018 T2 芯片安装 archlinux 双系统

时间:2024-04-08 16:50:58

文章目录

    • @[toc]
    • 配置无线网和分区
    • 修改时区
    • 安装内核和驱动
    • 自动生成 fstab 文件
    • 配置 pacman
    • 切换到安装好的系统
      • 设置时区
      • 配置 pacman 国内源
      • 安装 gui
      • 安装 GRUB 引导
        • 建立引导
      • 增加内核模块
      • 配置开机自启
      • 修改 root 用户密码
      • 创建普通用户
        • 配置 sudo
    • 重启进入新系统
      • 配置 wlan 自动连接 wifi
      • 配置 dns
      • 开启时钟自动同步
      • 安装服务

之前使用官方镜像安装过一次 archlinuxmac 的双系统,但是确实很多驱动,键盘不能用,触摸板和 touchbar 都不能用,找过一些文章编译镜像,相当的困难,这次通过 t2linux-wiki 找到了 Arch Linux ISO for Macs with T2 ,通过大佬做的镜像来重新实现 archlinuxmac 的双系统

我这里使用的镜像是 archlinux-t2-2024.02.04-t2-x86_64.iso ,目前还遗留了以下几个问题:

  • touchbar 能显示,能用 F1~F12,但是其他功能还用不了,还需要找方法调整
  • 屏幕亮度调整和键盘背光还没实现
  • 声音调整还没实现
  • 电源管理

配置无线网和分区

这个 t2 的镜像,不需要还原 wifi 驱动,直接按照我之前的博客来连接 wifi 和分区就可以了:macbook pro 2018 安装 arch linux 双系统

修改时区

设置为上海的时区

timedatectl set-timezone Asia/Shanghai

验证时区和时间

timedatectl

安装内核和驱动

参照 Installing Arch Linux on a Mac with the T2 Chip 这一块

使用 Arch Linux ISO for Macs with T2 这里面的镜像,可以直接执行下面的命令,也可以检查一下 /etc/pacman.conf 里面有没有 https://mirror.funami.tech/arch-mact2/os/x86_64 这个仓库,这个仓库里面有下面的包,不过是国外的服务器,速度会比较慢,这个步骤需要耐心(我花了差不多1小时),当然,也可以切换成国内源,后面有写

pacstrap /mnt base linux-t2 apple-t2-audio-config apple-bcm-firmware iwd grub efibootmgr tiny-dfr t2fanrd

自动生成 fstab 文件

archlinux 可以用 genfstab -U 来以 UUID 的格式来生成 fstab 文件

genfstab -U /mnt >> /mnt/etc/fstab

配置 pacman

把当前用的 pacman 的配置覆盖掉新系统里面的

cat /etc/pacman.conf > /mnt/etc/pacman.conf

切换到安装好的系统

arch-chroot /mnt

设置时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

运行 hwclock 生成 /etc/adjtime

hwclock --systohc

配置 pacman 国内源

增加 archlinuxcn 源

cat << EOF >> /etc/pacman.conf
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/\$arch
EOF

配置国内源,这个看自己大家的情况了,国内的话,可以直接覆盖掉 /etc/pacman.d/mirrorlist 文件,这样能起到加速的作用,下面列举一些国内源

  • https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch #清华大学
  • https://mirrors.163.com/archlinux/$repo/os/$arch #网易
  • https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch #中科大
  • https://mirrors.zju.edu.cn/archlinux/$repo/os/$arch #浙江大学
  • https://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch #重庆大学
  • https://mirrors.lzu.edu.cn/archlinux/$repo/os/$arch #兰州大学
  • https://mirrors.sjtug.sjtu.edu.cn/archlinux/$repo/os/$arch #上海交通大
  • https://mirrors.stuhome.net/archlinux/$repo/os/$arch #成都电子科大
  • https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch #大连东软信息学院
echo 'Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist

更新源

pacman -Syu

安装 gui

不同 gui 的区别,可以看我的另一篇博客:虚拟机内使用 archinstall 安装 arch linux 2024.01.01

我这里安装的是 i3+sddm

pacman -S i3-wm i3status i3blocks i3lock rxvt-unicode dmenu

安装登录界面

pacman -S sddm

配置开机自启

systemctl enable sddm

安装 GRUB 引导

编辑 /etc/default/grub 文件添加内核参数

内核参数的作用感兴趣的可以看 IOMMU (二)- 从配置说起 (我太菜了,看不懂,加就完事了)

在 GRUB_CMDLINE_LINUX="" 追加这三个参数 intel_iommu=on iommu=pt pcie_ports=compat

安装引导

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB --removable

生成 GRUB 配置文件

grub-mkconfig -o /boot/grub/grub.cfg
建立引导

安装 rEFInd

pacman -S refind
refind-install

修改 /boot/refind_linux.conf,把最后一行的 Boot with standard options 放到第一行,再把 root=/dev/xxx 改成 root=UUID=xxx,UUID 可以从 fstab 文件里面找

增加内核模块

/etc/mkinitcpio.conf 文件里面确保有下面的内容

MODULES="apple-bce"

使配置生效

mkinitcpio -P

配置开机自启

systemctl enable t2fanrd

修改 root 用户密码

passwd

创建普通用户

用户名大家自己定义,我这边定义是 chen2ha,-m 参数是创建用户家目录(默认不会创建)

useradd -m chen2ha

创建密码,密码是 Password@123,用户模式 chen2ha

echo 'Password@123' | passwd --stdin chen2ha
配置 sudo
visudo

找到 root ALL=(ALL) ALL 这一行,复制一行,把 root 改成自己的普通用户的名字

重启进入新系统

exit 退出 chroot,然后 reboot 重启

配置 wlan 自动连接 wifi

启动 iwd

sudo systemctl enable iwd --now

增加下面的配置

cat << EOF >> /etc/iwd/main.conf
[General]
EnableNetworkConfiguration=true
EOF
sudo systemctl enable iwd.service

重启 iwd

sudo systemctl restart iwd

配置 dns

echo 'nameserver 119.29.29.29' | sudo tee -a /etc/resolv.conf

开启时钟自动同步

sudo timedatectl set-ntp true

安装服务

pacman -S vim wget curl git kitty sudo bash-completion

先到这里,后面慢慢找时间更新,慢慢磨合,至少,我现在的 arch linux 在 mac 上可以用触摸板和键盘了