3.13 基于 Apple M1 和 UTM 安装 FreeBSD

本节介绍在 Apple M1 设备上使用 UTM 安装 FreeBSD 的方法,为 macOS 用户提供 FreeBSD 系统的部署途径。

UTM 官方网站是 https://getutm.apparrow-up-right

UTM(Universal Turing Machine)是一款开源、基于 QEMU、面向 Apple 设备的虚拟机软件,支持 ARM 和 x86 架构虚拟机。读者需要注意,建议下载 aarch64(arm64)架构而非 amd64(x86-64),除非有特殊需求,否则建议下载 aarch64 版本,相同架构速度更快(M1 为 aarch64 架构),性能损失更小,系统运行更为流畅。

因开发成本问题(Apple 开发者需要每年缴纳一定的费用才能获取资格),UTM 在 App Store 中是收费的。但是可以在 GitHub 项目,utmapp/UTMarrow-up-right 中免费获取 UTM,为用户提供了灵活的选择。

安装介绍

首先下载 FreeBSD 的安装镜像。

出于性能考虑,此处使用 aarch64 镜像进行展示。

下载安装镜像

接下来新建一个虚拟机,点击窗口上的加号 +

新建虚拟机

如果你下载的是 aarch64 的镜像,选择“虚拟化”;如果是 amd64 的镜像,选择“模拟”。

选择虚拟化类型

操作系统选择“其他”。

选择操作系统

默认 4 GB 内存能适应大多数情况,初始状态下 FreeBSD 15 会占用大约 500 MB 内存,有需求可以自行增加或减少内存。CPU 核心按需设置,M1 芯片可以设置为 4。

设置内存和处理器核心数量

启动设备选择 CD/DVD 映像,点击“浏览”按钮选择你下载好的安装镜像。

设置启动设备

存储空间默认 64 GB,初始状态 FreeBSD 会占用约 5 GB 空间,可根据需求调整。

设置存储空间

共享目录可以暂时跳过。

跳过共享目录

以上步骤设置完成后点击“存储”即可。如需进一步设置,可以勾选“打开虚拟机设置”,或者在保存后点击右上角的设置按钮打开配置界面。

完成设置

点击播放按钮即可启动虚拟机。

启动虚拟机
虚拟机启动界面

启动 FreeBSD 安装镜像,按回车键可以跳过启动菜单等待时间。

系统引导界面

进入安装程序,鼠标默认可用,可以按下 Control + Option 快捷键捕获鼠标光标,再次按下此快捷键即可释放鼠标。

安装程序界面

基本系统安装完成,终端能正常运行,在虚拟机内执行 ifconfig 查看到 IP 地址后,可以在宿主机的终端模拟器中连接。

终端
SSH

故障排除与未竟事宜

Xorg 不可用

直接启动 Xorg 默认的窗口管理器 TWM 会报错,输出内容如下:

/boot/loader.conf 里面加入下面两行能成功启动 TWM,但是虚拟机就看不到画面了(ssh 仍然能连进去,说明只是显示问题)。

重启以后 startx 能够正常启动 TWM,输出如下:

虚拟机看不到画面,显示 Display output is not active.

虚拟机看不到画面

课后习题

  1. 研究 virtio_gpuvtgpu 驱动在 FreeBSD ARM64 上的实现状态,分析为什么禁用它们可以让 Xorg 启动但失去画面输出,尝试寻找一个两全其美的配置。

  2. 分析 UTM 与 QEMU 的关系,研究 UTM 如何封装 QEMU 并提供图形化界面,尝试直接使用 QEMU 命令行启动 FreeBSD 并对比差异。

  3. 对比 UTM 在 App Store 收费版与 GitHub 免费版的功能差异。

最后更新于