Folia
← 返回头版

Encore 在 Apple Silicon 上重建 Linux 微虚拟机栈

Encore 公司开发了 crackling,一个跨平台微虚拟机系统,旨在解决工程师无法在 Mac 上本地运行基于 Firecracker 的 Linux 构建环境的问题1。Firecracker 原本需要 Linux 主机和 /dev/kvm 支持,macOS 不兼容此需求,导致 Encore 的工程师被迫依赖远程连接共享构建主机1。

crackling 采用跨平台架构,在 Linux 上由 Firecracker 驱动,在 macOS 上则以 Apple 的 Virtualization.framework 作为后端,为两个平台提供统一的 OCI 镜像启动和管理接口1。为支持 macOS,团队需要重建整个 Linux 镜像工具链,包括 EFI zboot 内核解包、OCI 层应用和 initramfs 生成等功能1。系统通过 AF_VSOCK 进行客户端-主机通信,agent 支持 exec、交互式 shell、cp 和端口转发等操作1。

Apple 的虚拟化框架的快照保存功能需要 com.apple.private.virtualization 权限,但 Apple 不向第三方应用授予此权限,导致保存功能无法正常工作1。尽管存在此限制,crackling 使工程师能够在本地 Mac 上运行完整的构建系统,消除了之前需要远程连接的限制1。


评论