搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

imxieyi/Kernarium

运维与部署

通过 User-mode Linux 在 iOS 上原生运行真实 Linux 内核,用户态指令模拟,支持 GPU 加速。

370
37
C++
GPL-2.0
创建于 4 天前

项目介绍

Kernarium 是一个在 iOS 上原生运行真实 Linux 内核的运行时。它基于 User-mode Linux:内核编译成原生 arm64 代码并链接进 iOS 框架,用户态程序则由类似 iSH 的多线程解释器执行,并支持 SMP。访客 GPU 通过 KosmicKrisp 把 Vulkan 翻译到 Metal,OpenGL/GLES 则走 Zink。

这一架构介于 UTM 这类完整系统模拟器和 iSH 这类纯用户态模拟器之间。内核本身真实且原生,因此能跑 Docker 容器、Linux 桌面、Wine/Proton,甚至完整 Android 系统,在较新的 iOS 设备上速度尚可。

它包含主线 6.18 LTS 内核,支持命名空间和 SELinux;模拟 arm64、arm32、x86_64 访客指令,提供解释器和 JIT 两种模式;Vulkan 1.4 与 OpenGL 4.6/GLES 3.2;经 VideoToolbox 的 H.264/HEVC 硬件编解码;支持带 discard 的虚拟磁盘和 ext2/3/4、erofs、xfs 等 Linux 文件系统,以及 loop 设备和 FUSE;完整 Linux 网络栈通过 libslirp 接出。

基于该运行时有两个应用:Andarium 是 Android 模拟器,通过 TestFlight 测试 分发;Kernarium 是通用 Linux 发行版运行器,仍处于早期开发阶段,尚未发布。

快速使用

这个运行时不是面向普通用户的现成 Linux 产品。想试用能跑 Android 的应用,可从 TestFlight 加入链接 安装测试版;想自行构建或把运行时嵌入其他应用,先看 AGENTS.md 指南 和 docs 目录,两个应用的源码分别在 Andarium 和 Kernarium。README 没有给出手动构建命令、所需 Xcode 或 SDK 版本、签名步骤,也没有发布二进制,因此需要按仓库内文档和 Apple 的 iOS 构建要求操作,而不是一条命令完成安装。

使用约束

项目面向 arm64 的 iOS 设备,不是 Linux 桌面应用,也不支持其他平台。TestFlight 版本仅使用解释器模式,不提供 JIT。通用 Kernarium 应用尚未完成,还不能发布。GPU 加速依赖 Metal 和 Apple 框架。代码采用 GPL-2.0-or-later,除非文件 SPDX 头另有说明,许可证文件在 LICENSES。

HotRepo 点评

Kernarium 在 2026-11-10 进入 HotRepo 新项目榜,记录窗口内新增 12 Star,总计 116 Star、16 Fork,并在 C++ 语言榜上有记录。它的吸引力来自不寻常的设计:原生 Linux 内核加解释型用户态,再加 Vulkan 到 Metal 的路径,而不是又做一个完整模拟器。单条快照不足以判断热度走势,但真实内核与 GPU 翻译层的组合是它区别于现有 iOS 模拟方案的地方。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

相关推荐

  1. Leviidev/Husk让 iPhone 通过原生翻译层或 QEMU 模拟运行 Android 应用与游戏的工具。Java3,242
  2. google/gvisor为用户态 Linux 内核与 OCI 运行时,让运行不可信代码的容器不再与宿主机共享内核。Go19,791
  3. jo-duchan/tapflow自托管的中继加 macOS 代理,把 iOS 模拟器和 Android 模拟器串流到浏览器,供团队做移动端测试。TypeScript1,585
  4. kubevirt/kubevirt在 Kubernetes 上声明、调度和管理虚拟机,面向已有集群的平台与基础设施团队。Go7,166