基于 checkra1n 为 Apple 主板构建的预启动执行环境。
make allld64 和 cctools 的 strip。
echo 'deb https://assets.checkra.in/debian /' | sudo tee /etc/apt/sources.list.d/checkra1n.list
sudo apt-key adv --fetch-keys https://assets.checkra.in/debian/archive.key
sudo apt-get update
sudo apt-get install -y ld64 cctools-strip
make all如果 clang、ld64 或 cctools-strip 的默认名称/路径不同,您需要修改它们的调用方式。作为参考,默认变量等价于:
EMBEDDED_CC=clang EMBEDDED_LDFLAGS=-fuse-ld=/usr/bin/ld64 STRIP=cctools-strip make all
Makefile 将在 build/ 目录下创建四个二进制文件:
Pongo - 主 pongoOS 的 Mach-O 文件Pongo.bin - 同上,但为可跳转执行的裸机二进制文件checkra1n-kpf-pongo - checkra1n 内核补丁查找器,作为 pongoOS 模块(Mach-O/kext)PongoConsolidated.bin - pongoOS 和 KPF 合并为单个二进制文件checkra1n -k Pongo.bin # 启动至 pongo shell,KPF 不可用
checkra1n -k PongoConsolidated.bin # 自动运行 KPF 并启动至 XNU
checkra1n -k PongoConsolidated.bin -p # 加载 KPF,但启动至 pongo shell
提交拉取请求即表示您同意根据 MIT 许可协议 许可您的贡献,并证明您有权这样做。
如果您希望导入无法按此许可的第三方代码,请务必明确说明,以便我们进行评估。
src/ 目录下。
tools/ 目录下。aarch64-none-darwin 目录下。
example/ 目录下。scripts/ 目录下。
pongoterm,一个用于 macOS 的交互式 shell 客户端。checkra1n/kpf 目录下。
checkra1n/kpf-test 构建(仅能在 arm64 上运行)。