研究和工具,用于通过 checkm8、修补后的 iBSS/iBEC 以及自定义裸机载荷,在 iPad mini 1(P105AP / iPad2,5,Apple A5) 上启动 Linux —— 无需写入 iOS 安装。
本仓库整合了:
bootx关键地址: 参见 docs/ADDRESSES.md。
目标设备:iPad2,5,主板 P105AP,SoC S5L8942X(双核 Cortex-A9,512 MiB)。
make all # ADT → JSON → DTS → DTB,验证
make kernel # 交叉编译 armhf zImage
bash scripts/build-ibec.sh # 修补后的 iBSS/iBEC(需要 IPSW)
bash scripts/deploy-flashdrive.sh
将 flashdrive/ 复制到你的启动机器,进入 pwned DFU 模式,然后:
# ACE 路径(staging-bundle + autogo iBEC)
./scripts/run-linux-ace.sh
# LIK 路径(ramdisk + bootx;需要 Legacy-iOS-Kit 保存的 IPSW)
./scripts/run-linux-lik.sh
脚本从仓库 / flashdrive 目录解析路径 —— 无硬编码的主目录路径。
可选远程部署:复制 scripts/laptop.env.example → scripts/laptop.env 并设置 LAPTOP=user@host。
bash scripts/build-ram-boot.shtools/gaster.exepowershell -ExecutionPolicy Bypass -File scripts\host-boot-checkm8.ps1完整流程参见 docs/boot.md。
研究工具 —— 请在你自有的硬件上自行承担风险使用。
| 变量 | 默认值 | 用途 |
|---|
KERNELCACHE | kernelcache/kernelcache.p105.raw | 用于逆向的解密 XNU |
IPSW / IPSW_DIR | ~/ipsw/ | 用于 iBEC 构建的恢复 IPSW |
LIK_SAVED | ~/Legacy-iOS-Kit/saved/iPad2,5 | LIK 启动产物 |
FLASHDRIVE | ./flashdrive | 启动捆绑包目录 |
FLASHDRIVE_DEST | ~/flashdrive | 远程 USB 主机路径 |
| 文档 | 主题 |
|---|
docs/ADDRESSES.md | DRAM、MMIO、PMGR、Linux 布局 |
docs/boot-strategy.md | ACE vs LIK vs 裸机 |
docs/p105-touch-clock-re.md | 多点触控时钟、Cmwp 逆向 |
docs/p105-gpio.md | GPIO 映射 |
docs/memory-probe.md | 恢复模式内存布局 |
| 阶段 | 状态 |
|---|
| ADT → DTB | 已完成 |
| 内核构建 | 可构建;硬件启动进行中 |
| iBEC autogo 链 | 在硬件上可用 |
| Linux ACE 启动 | 暂存路径已实现 |
| 触控裸机 | PMGR/iBEC 时钟正常;无 XNU Cmwp 时 SPI MMIO 受阻 |
| pongoOS | 不适用(仅限 AArch64;A5 为 ARMv7) |
| 路径 | 描述 |
|---|
dts/apple-p105ap-raw.json | 规范化 ADT |
dtb/p105ap.dtb | 启动 DTB(先禁用 A9 定时器) |
build/out/zImage | 修补后的 Linux 内核 |
ibec/iBEC.patched.autogo.direct.dfu | 恢复启动 iBEC |
flashdrive/staging-bundle.bin | Linux + 加载器捆绑包 |
pongo/touch_cursor.c | 触控探测载荷 |