Mac mini M2 安装 Fedora Asahi Remix Server

本文记录在 Apple Mac mini M2 上安装 Fedora Asahi Remix Server 的方法,并重点说明中国大陆网络环境下如何提高安装成功率。

目标环境:

  • Apple Mac mini M2。
  • 保留 macOS,用于 Apple Recovery、固件更新和后续 Asahi 维护。
  • 安装 Fedora Asahi Remix Server,作为无桌面的 ARM64 Linux 服务器。
  • 后续用于 Kubernetes、containerd、ARM64 兼容性测试,以及 Ollama 等轻量本地模型服务。

Fedora Asahi Remix 是 Asahi Linux 当前针对 Apple Silicon 推荐的完整 Linux 发行版。对于只作为服务器使用的设备,安装时选择 Server 或 Minimal,不需要 KDE/GNOME 桌面环境。

安装架构

Apple Silicon 不能像普通 x86_64/ARM64 服务器一样直接从 Fedora ISO 启动安装。Asahi Installer 会负责 Apple Silicon 特有的启动链和磁盘布局。

整体结构可以理解为:

Mac mini M2
├── macOS
│   ├── Apple Recovery
│   ├── Firmware Update
│   └── Asahi Installer
│
└── Fedora Asahi Remix Server
    ├── m1n1
    ├── U-Boot
    ├── GRUB
    └── Linux / Fedora

建议保留 macOS,不要将整块磁盘全部交给 Linux。macOS 仍是 Apple 固件、Recovery 和部分 Asahi 维护流程的重要入口。

中国大陆网络策略

安装 Fedora Asahi Remix 时,需要区分两类网络依赖:

  1. Apple 官方 CDN。
  2. Asahi/Fedora/GitHub 等海外开源基础设施。

在中国大陆,Apple CDN 通常可以直接稳定访问,因此没有必要为了安装 Linux 将所有 Apple 流量也强制走境外代理。主要需要解决的是 Asahi/Fedora/GitHub 相关资源的稳定下载。

推荐的网络结构:

Mac mini M2
   │
   ├── Apple CDN
   │      └── 中国大陆网络直连
   │
   └── Asahi / Fedora / GitHub
          ├── 可稳定直连时直接访问
          ├── 不稳定时通过 TUN/VPN 出境
          └── 或使用局域网本地缓存/镜像

不建议仅依赖 Terminal 中的 http_proxy / https_proxy。安装器后续包含 Python 和其他下载步骤,并不能保证所有网络请求都继承 shell 代理变量。需要代理时,优先使用系统级 TUN/VPN 模式。

安装前网络检查

在 macOS Terminal 中先执行:

curl -I https://alx.sh
curl -I https://cdn.asahilinux.org
curl -I https://fedora-asahi-remix.org/install
curl -I https://github.com

还可以实际下载 bootstrap 脚本验证:

curl -L https://alx.sh -o /tmp/asahi-install.sh
ls -lh /tmp/asahi-install.sh
head /tmp/asahi-install.sh

如果这些请求稳定且速度正常,可以直接使用官方安装流程。

如果出现以下情况:

Could not resolve host
Connection reset by peer
Operation timed out
长期 0 KB/s

优先切换到:

  • 具有稳定国际出口的网络;
  • 手机热点;
  • 系统级 TUN/VPN;
  • 局域网本地镜像。

推荐方案:Apple CDN 直连,Asahi/Fedora 走稳定链路

对于中国大陆环境,优先采用以下方式:

Apple 域名
    ↓
国内网络直连

Asahi / Fedora / GitHub
    ↓
规则路由或 TUN

如果使用 Clash、sing-box、Surge 等客户端,建议采用 TUN 模式,并仅让 Asahi/Fedora/GitHub 等海外资源走代理。

安装过程中不要频繁切换网络,因为较大的 Fedora rootfs 或镜像下载中断后可能需要重新下载。

可选方案:本地缓存 Asahi/Fedora 安装资源

如果安装环境长期无法稳定访问 Asahi/Fedora CDN,可以将开源侧资源放到另一台机器或局域网 HTTP Server 中,再让 Asahi Installer 使用本地资源。

Asahi Installer 官方支持通过以下变量切换安装资源来源:

VERSION_FLAG
INSTALLER_BASE
INSTALLER_DATA
INSTALLER_DATA_ALT
REPO_BASE

其中:

变量作用
VERSION_FLAGInstaller 当前版本信息
INSTALLER_BASEInstaller 文件目录
INSTALLER_DATA发行版安装 metadata
INSTALLER_DATA_ALTmetadata 备用地址
REPO_BASEFedora/发行版镜像根目录

例如局域网中准备:

192.168.1.10
└── asahi/
    ├── releases/
    ├── data/
    └── os/

通过 HTTP 提供:

cd /srv/asahi
python3 -m http.server 8080

然后自定义 bootstrap,将相关变量指向:

http://192.168.1.10:8080/

即可避免在安装过程中反复从 Asahi/Fedora 海外 CDN 下载大文件。

这里的目标不是完全离线。Apple IPSW、Recovery 和固件相关资源仍保持访问 Apple 官方 CDN:

Asahi Installer / Fedora image
    ↓
本地 LAN

Apple firmware / recovery
    ↓
Apple CDN

这样可以解决中国大陆最容易出现问题的开源海外下载链路,同时继续使用 Apple 官方资源。

本地镜像结构应以当前 Asahi Installer metadata 为准,不建议长期手工固定某个历史版本的 Fedora rootfs URL。

安装前准备

先确认硬件:

system_profiler SPHardwareDataType

确认磁盘:

diskutil list
diskutil apfs list
df -h /

建议至少为 Fedora Asahi Remix Server 预留 100 GB。如果设备主要用于 Linux/Kubernetes,可以给 Linux 分配更多空间,但仍建议至少为 macOS 保留约 80~120 GB。

不要手工删除以下 Apple 分区:

  • Apple_APFS_Recovery;
  • macOS System/Preboot/Recovery 相关分区;
  • 其他无法明确识别用途的 Apple Silicon 启动分区。

磁盘缩容和 Linux 分区创建交给 Asahi Installer 完成。

启动安装器

官方推荐入口:

curl https://alx.sh | sh

Fedora Asahi Remix 也提供自己的安装入口:

curl -L https://fedora-asahi-remix.org/install | sh

正常情况下优先使用 alx.sh。

安装器启动后:

  1. 检查当前 macOS 和磁盘。
  2. 根据提示缩小 macOS APFS Container。
  3. 在释放出的空间中创建新的操作系统。
  4. 选择 Fedora Asahi Remix。
  5. 选择 Server。
  6. 确认目标空间。
  7. 等待安装器写入 Fedora、m1n1、U-Boot 和启动数据。

不要自行使用 diskutil 创建 Linux 分区。

完成第一阶段并进入 Recovery

第一阶段完成后,安装器会要求关机。

执行:

Shut Down

机器完全关闭后:

  1. 按住 Mac mini 电源键。
  2. 等待出现 Loading startup options...。
  3. 进入 Asahi/Fedora 对应的安装启动项。
  4. 按提示完成 Apple Boot Policy / Recovery 授权步骤。
  5. 重启进入 Fedora Asahi Remix Server。

第一次执行该过程时建议连接显示器和键盘。确认 SSH 可用以后,再将设备改成完全 headless 使用。

Fedora 首次启动

进入 Fedora 后先确认系统:

cat /etc/os-release
uname -a
uname -m

CPU 架构应为:

aarch64

更新系统:

sudo dnf upgrade --refresh -y
sudo reboot

配置 SSH Server

确认 OpenSSH:

sudo dnf install -y openssh-server
sudo systemctl enable --now sshd

确认监听:

ss -lntp | grep ':22'

查看 IP:

ip addr

完成 SSH 登录验证以后,Mac mini 就可以不再长期连接显示器和键盘。

验证 Apple Silicon Linux 特征

确认 page size:

getconf PAGE_SIZE

Apple Silicon Asahi Linux 通常使用 16 KiB page size:

16384

这与常见 x86_64 Linux 的 4 KiB page size 不同。

对于 Kubernetes 和容器环境,需要特别验证:

  • ARM64 镜像是否完整;
  • containerd/runc 是否正常;
  • CNI 是否支持 ARM64;
  • eBPF 程序是否支持 16 KiB page size;
  • CGO/native library 是否存在 page-size 假设;
  • 数据库和 mmap 型应用是否兼容。

这也是使用 Mac mini M2 作为 ARM64 Kubernetes 测试节点的价值之一。

Kubernetes 使用建议

Fedora Asahi Remix Server 可以作为标准 systemd/cgroup v2 Linux 节点使用。

安装 Kubernetes 前建议检查:

uname -m
getconf PAGE_SIZE
stat -fc %T /sys/fs/cgroup
systemctl status systemd

后续部署至少需要验证:

containerd
runc
kubelet
kubeadm
kubectl
CNI
CoreDNS
etcd
pause image
metrics-server

对应镜像必须包含 linux/arm64。

Ollama 使用定位

Ollama 提供 Linux ARM64 版本,因此可以在 Fedora Asahi Remix Server 上运行。

这台机器更适合:

  • 小型 LLM;
  • Embedding;
  • Reranker;
  • ARM64 AI workload 测试;
  • Kubernetes 中的本地模型服务验证。

需要注意,Linux 上的 Apple GPU 加速路径与 macOS Metal/MLX 不同,因此不应把 Fedora Asahi 上的 Ollama 定位成 M2 GPU 高吞吐推理节点。

故障处理原则

如果安装过程中出现 Asahi/Fedora 下载失败:

  1. 不要删除已经创建的 Apple/Asahi 分区。
  2. 退出安装器。
  3. 检查 alx.sh、cdn.asahilinux.org 和 GitHub 网络。
  4. 切换手机热点或 TUN/VPN。
  5. 必要时改用本地缓存。
  6. 重新运行官方安装器并让其识别现有磁盘状态。

如果 Apple CDN 工作正常,则不需要对 Apple IPSW、Recovery 或 firmware 做额外镜像。

参考资料