在Mac mini 2018上安装配置Arch Linux:驱动T2芯片与博通网卡全攻略
2026/8/5 3:49:37 网站建设 项目流程

1. 项目缘起:为什么要在Mac mini 2018上折腾Arch Linux?

手头这台Mac mini 2018,当年买来是图它小巧安静,准备当个家庭服务器或者轻量开发机。用了一段时间macOS,稳定是稳定,但总感觉少了点“折腾”的乐趣,尤其是当你需要一些最新的Linux内核特性、想完全掌控系统的每一个组件,或者单纯就是想体验一下滚动更新的魅力时,macOS就显得有些束手束脚了。Arch Linux,以其极简、高度可定制和“自己动手,丰衣足食”的哲学,就成了一个极具吸引力的选择。它没有预装任何你不需要的东西,从安装到配置,每一步都由你掌控,这对于想在特定硬件上构建一个纯粹、高效工作站的用户来说,几乎是完美的。

但Mac mini 2018毕竟不是一台普通的PC。它搭载了Intel第八代酷睿处理器(i3/i5/i7),集成了Intel UHD Graphics 630核显,无线网卡是博通的,还内置了T2安全芯片。这些硬件组合在一起,让安装过程比在普通x86电脑上要复杂一些,尤其是T2芯片带来的启动管理器和固件限制,是最大的拦路虎。网上关于在带T2芯片的Mac上安装Linux的资料相对零散,很多教程要么语焉不详,要么步骤过时。我花了差不多两个周末的时间,踩了无数坑,才终于让Arch Linux在这台小钢炮上稳定运行起来,包括显卡、Wi-Fi、蓝牙、声卡等驱动全部正常工作。这篇记录,就是把我整个安装、配置、排错的过程和心得整理下来,希望能给后来者铺一条相对平坦的路。

2. 前期准备:绕不开的T2芯片与启动介质制作

在Mac mini 2018上安装任何非macOS的操作系统,第一步也是最重要的一步,就是搞定它的T2安全芯片。T2芯片接管了包括启动安全管理、固态硬盘加密、音频控制、摄像头在内的多项功能。默认情况下,它只允许从经过苹果签名的操作系统(也就是macOS)启动,或者通过“启动安全性实用工具”临时允许从外部介质启动。

2.1 启动安全性设置与固件降级

首先,你需要进入macOS的恢复模式(开机时按住Command + R)。在恢复模式的菜单栏里,找到并打开“启动安全性实用工具”。

这里你会看到两个关键设置:

  1. 安全启动:必须设置为“无安全性”。这是允许启动未签名内核的关键。
  2. 外部启动:必须设置为“允许从外部介质或可移动介质启动”。

完成这两步,你的Mac才能识别并尝试从我们制作的Arch Linux安装U盘启动。但仅仅这样还不够。T2芯片的固件版本会影响Linux内核的兼容性,尤其是对内置键盘、触控板(对于MacBook)和启动流程的支持。根据Arch Wiki和众多社区用户的经验,将T2固件降级到版本16Pxxxx(例如16P375)是一个被广泛验证的、能极大提高成功率的步骤。你可以在“关于本机”->“系统报告”->“控制器”里查看当前的T2固件版本。

降级固件需要在macOS下进行,并且过程有风险(可能导致变砖)。通常的做法是,找到对应版本的完整macOS安装器(例如macOS Mojave),在安装过程中,安装程序会连带将T2固件刷写到兼容的旧版本。强烈建议在操作前,通过时间机器完整备份你的macOS系统。

2.2 制作Arch Linux安装U盘

在另一台运行macOS或Linux的电脑上,我们需要准备一个至少2GB的U盘。

  1. 下载镜像:前往Arch Linux官方镜像站,下载最新的ISO文件。对于Mac mini 2018,我们选择标准的x86_64版本即可。
  2. 识别U盘:将U盘插入电脑,打开终端,使用diskutil list命令找到你的U盘设备标识符,通常是/dev/disk2或类似(务必确认,写错盘符会抹掉其他磁盘数据!)。
  3. 卸载与写入:首先卸载该磁盘:sudo diskutil unmountDisk /dev/diskX(将X替换为你的磁盘号)。然后使用dd命令写入镜像:sudo dd if=/path/to/archlinux.iso of=/dev/rdiskX bs=1m。这里使用rdisk(原始磁盘)通常比disk速度更快。这个命令没有进度提示,需要耐心等待,直到命令完成返回。

制作完成后,这个U盘就包含了Arch Linux的安装环境和内核。接下来就是重启Mac mini,准备进入安装环境。

3. 安装过程详解:从U盘引导到基础系统

按住Mac mini的电源键开机,立即按住Option (Alt)键,直到进入启动管理器界面。你应该能看到一个黄色的“EFI Boot”图标,这就是我们的Arch安装U盘。选择它并回车。

3.1 解决初期显示与输入问题

选择U盘启动后,你可能会遇到第一个坑:屏幕黑屏或显示异常。这是因为默认的Linux内核可能没有正确驱动Mac mini的显卡。这时,我们需要在启动菜单(如果能看到的话)编辑启动参数。

在启动菜单高亮选中“Arch Linux install medium”后,按e键(如果是systemd-boot)或Tab键(如果是GRUB)来编辑启动参数。在Linux内核参数行(以linux开头的行)的末尾,添加以下参数:

nomodeset i915.force_probe=3e9b
  • nomodeset:告诉内核在启动初期不要设置图形模式,使用最基本的帧缓冲(framebuffer)显示,这能解决大部分黑屏问题。
  • i915.force_probe=3e9b:这是针对Mac mini 2018特定型号Intel UHD Graphics 630核显的强制探测参数。3e9b是这个显卡的PCI设备ID。添加这个参数可以确保内核正确识别并加载对应的显卡驱动模块。

添加完成后,按回车启动。你应该能成功进入Arch Linux的安装命令行界面(一个黑底白字的终端)。

第二个可能的问题是内置键盘在安装环境中无法使用。这是因为T2芯片管理的键盘在Linux安装环境的初始阶段可能未被识别。解决方案是准备一个USB接口的键盘,在安装阶段使用。系统安装并配置好内核与驱动后,内置键盘通常就能正常工作了。

3.2 分区与文件系统规划

Mac mini 2018通常配备一块NVMe固态硬盘。我们需要在其上为Arch Linux分配空间。这里有两种策略:

  • 双系统:在macOS的“磁盘工具”中,预先压缩出一个空白分区(例如100GB),留给Arch安装程序使用。
  • 单系统:完全抹掉整个硬盘,全新安装Arch。这会永久删除macOS和所有数据,请务必提前备份!

我选择的是单系统,以获得最佳性能和对磁盘的完全控制。在Arch安装环境中,使用fdisk -llsblk找到你的NVMe硬盘,通常是/dev/nvme0n1

然后使用cfdiskfdisk进行分区。一个典型的UEFI系统分区方案如下:

  • /dev/nvme0n1p1:EFI系统分区,大小260M-512M,类型为EFI System
  • /dev/nvme0n1p2:根分区/,占用剩余大部分空间,类型为Linux filesystem
  • (可选)/dev/nvme0n1p3:交换分区,大小根据内存决定(例如8G或16G),类型为Linux swap。现代系统更推荐使用交换文件(swapfile),更灵活。

格式化分区:

mkfs.fat -F32 /dev/nvme0n1p1 # 格式化EFI分区为FAT32 mkfs.ext4 /dev/nvme0n1p2 # 格式化根分区为ext4 # 如果创建了交换分区 mkswap /dev/nvme0n1p3 swapon /dev/nvme0n1p3

挂载分区:

mount /dev/nvme0n1p2 /mnt mkdir -p /mnt/boot/efi mount /dev/nvme0n1p1 /mnt/boot/efi

3.3 安装基础系统与内核

接下来,使用pacstrap安装最基本的系统到/mnt。这里有一个关键点:必须安装linux内核,并且强烈建议同时安装linux-headersintel-ucode

pacstrap /mnt base base-devel linux linux-headers linux-firmware intel-ucode vim networkmanager
  • base-devel:包含编译工具链,后续安装AUR包或编译驱动时会用到。
  • linux-firmware:包含大量硬件所需的固件文件,对于Wi-Fi、蓝牙等驱动至关重要。
  • intel-ucode:Intel CPU的微码更新,用于修复CPU漏洞和提升稳定性。
  • networkmanager:我们将用它来管理有线网络(安装初期)和后续的Wi-Fi。

生成fstab文件并切换到新系统:

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

3.4 系统基础配置与引导安装

在新系统的chroot环境中,进行一系列基础配置:

  1. 时区与本地化:设置时区ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime,生成hwclock,编辑/etc/locale.gen取消注释en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8,然后运行locale-gen
  2. 主机名与网络:设置主机名,并启用NetworkManager服务:systemctl enable NetworkManager
  3. Root密码与用户:设置root密码,并创建一个日常使用的普通用户,将其加入wheel等必要组。
  4. 安装引导程序:对于Mac的UEFI,推荐使用systemd-boot,它比GRUB更简洁,与Mac的启动管理器兼容性更好。
    bootctl --path=/boot/efi install
    然后创建引导条目配置文件/boot/efi/loader/entries/arch.conf
    title Arch Linux linux /vmlinuz-linux initrd /intel-ucode.img initrd /initramfs-linux.img options root=PARTUUID=你的根分区PARTUUID rw quiet i915.force_probe=3e9b
    注意:这里的root参数建议使用分区的PARTUUID(通过blkid -s PARTUUID -o value /dev/nvme0n1p2获取),比设备名更稳定。再次添加了i915.force_probe=3e9b参数,确保从硬盘启动时也能正确驱动显卡。

完成这些后,退出chroot,重启系统。拔掉U盘,理论上你应该能看到systemd-boot的菜单,选择“Arch Linux”启动,就能进入全新的、只有命令行界面的Arch系统了。

4. 驱动配置:让所有硬件焕发生机

成功进入系统只是第一步,接下来要让显卡、Wi-Fi、蓝牙、声音等硬件全部工作起来。这是最考验耐心和搜索能力的部分。

4.1 显卡驱动与显示管理

系统安装时我们通过内核参数临时解决了显卡问题。现在需要确保驱动被正确安装和加载。Mac mini 2018的Intel核显驱动包含在xf86-video-intel这个包里,但根据Arch Wiki和社区的最新建议,对于较新的Intel显卡(包括UHD 630),不推荐安装这个古老的DDX驱动,而是直接使用内核的modesetting驱动配合intel-media-driver(用于硬件编解码)

首先,安装必要的用户空间组件和桌面环境(以KDE Plasma为例):

pacman -S xorg-server xorg-xinit plasma-meta konsole dolphin sddm

xorg-server是X显示服务器的基础。安装后,modesetting驱动会自动工作。

为了更好的硬件加速和视频解码,安装intel-media-drivervulkan-intel

pacman -S intel-media-driver vulkan-intel

intel-media-driver是Intel的VA-API驱动后端,用于硬件视频解码;vulkan-intel提供Vulkan API支持。

验证驱动是否正常工作:

  • 运行glxinfo | grep “OpenGL renderer”,应该能看到类似“Intel UHD Graphics 630 (CFL GT2)”的信息。
  • 运行vainfo,检查VA-API驱动是否已加载。

最后,启用显示管理器(SDDM)并重启进入图形界面:

systemctl enable sddm systemctl reboot

4.2 Wi-Fi与蓝牙驱动:博通芯片的救赎

Mac mini 2018使用的博通网卡型号通常是BRCM4364或类似。这类较新的博通芯片在Linux内核中没有开源驱动,需要从AUR(Arch用户软件仓库)安装broadcom-wl-dkms驱动。

首先,确保已安装base-develgit,然后使用一个AUR助手(如yay)来安装:

pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay.git cd yay makepkg -si

安装好yay后,安装Wi-Fi驱动:

yay -S broadcom-wl-dkms

这个DKMS(动态内核模块支持)驱动会在每次内核更新时自动重新编译。安装完成后,必须重启系统以加载新的内核模块。

重启后,Wi-Fi应该就能被识别了。使用NetworkManager的命令行工具nmtui或者图形化界面连接你的无线网络。

蓝牙驱动相对简单,博通蓝牙通常由bluezbluez-utils包提供支持:

pacman -S bluez bluez-utils systemctl enable bluetooth systemctl start bluetooth

安装后,使用bluetoothctl命令可以扫描和连接蓝牙设备。

4.3 声卡驱动与T2音频路由

这是Mac mini 2018安装Linux最具挑战性的部分之一。T2芯片集成了音频控制器,传统的ALSA驱动无法直接工作。幸运的是,Linux内核从某个版本开始,通过snd_hda_macmini这个驱动模块提供了实验性支持。

首先,确保你的内核版本足够新(滚动更新即可)。然后,需要手动加载这个模块并设置正确的参数。

  1. 创建模块加载配置文件:新建文件/etc/modprobe.d/macmini-audio.conf,加入以下内容:

    options snd-hda-intel model=macmini

    这个参数告诉snd-hda-intel驱动使用为Mac mini定制的配置。

  2. 更新initramfs:为了让这个设置在启动初期生效,需要重建初始内存盘:

    mkinitcpio -P
  3. 重启并验证:重启后,运行aplay -lcat /proc/asound/cards,你应该能看到一个或多个Intel声卡被列出。运行alsamixer,按F6选择正确的声卡,确保主音量(Master)和PCM通道未被静音(MM表示静音,按M键切换)。

  4. 处理无声或杂音问题:如果仍然没有声音,或者有爆音,可能需要进一步调整。一个常见的方法是安装pipewire及其音频套件来替代传统的pulseaudio,它对复杂音频设备的处理有时更好:

    pacman -S pipewire pipewire-alsa pipewire-pulse pipewire-jack systemctl --user enable pipewire pipewire-pulse

    然后注销并重新登录。

实操心得:声卡驱动是最不稳定的部分,不同内核版本的表现可能不同。如果上述方法不行,去Arch Wiki的“Mac”页面和相关的论坛帖子(如Reddit上的r/archlinux)搜索你具体的内核版本和Mac mini型号的组合,往往能找到最新的解决方案或补丁。

5. 桌面环境与开发环境搭建

硬件驱动齐全后,就可以打造舒适的工作环境了。我选择了KDE Plasma,因为它高度可定制,且与Arch的滚动更新兼容性很好。

5.1 KDE Plasma优化与常用软件

安装KDE全家桶和常用工具:

pacman -S plasma-meta kde-applications-meta packagekit-qt5
  • plasma-meta:核心桌面环境。
  • kde-applications-meta:大量的KDE应用程序(可选,按需安装)。
  • packagekit-qt5:为Discover软件中心提供后端支持。

安装字体、输入法(以中文为例)和浏览器:

pacman -S noto-fonts-cjk noto-fonts-emoji ttf-dejavu adobe-source-han-sans-cn-fonts pacman -S fcitx5 fcitx5-chinese-addons fcitx5-qt fcitx5-gtk fcitx5-configtool pacman -S firefox chromium

~/.xprofile~/.config/environment.d/下配置环境变量以启用输入法。

5.2 开发环境一站式配置

作为开发机,需要安装一系列工具。以下是一个Python/Web/容器化开发的常用栈:

  1. 版本控制与编辑器

    pacman -S git neovim # 或者安装VSCode(从AUR) yay -S visual-studio-code-bin
  2. Python环境管理:强烈推荐使用pyenv来管理多个Python版本,并用pipx来安全地安装全局Python命令行工具。

    • 安装依赖:pacman -S base-devel openssl zlib xz tk
    • 通过AUR安装pyenvyay -S pyenv
    • 安装pipxpacman -S python-pipx; pipx ensurepath
    • pyenv安装Python:pyenv install 3.11.9,然后设置全局版本。
  3. 容器与数据库

    # Docker pacman -S docker docker-compose sudo systemctl enable --now docker sudo usermod -aG docker $USER # 将当前用户加入docker组,需重新登录生效 # PostgreSQL pacman -S postgresql sudo -iu postgres initdb -D /var/lib/postgres/data sudo systemctl enable --now postgresql # Redis pacman -S redis sudo systemctl enable --now redis
  4. Node.js环境:使用nvm(Node Version Manager)来管理Node.js版本是社区最佳实践。

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 重新打开终端后 nvm install --lts

经过以上步骤,一台基于Mac mini 2018的、驱动完善、环境现代的Arch Linux开发工作站就基本搭建完成了。整个过程虽然繁琐,但每一步的攻克都带来了对Linux系统和硬件兼容性更深的理解。这台小机器现在运行着最新的内核,所有硬件各司其职,安静且高效,完美替代了原先macOS的角色,成为了我探索和创造的新基地。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询