A pre-boot execution environment for Apple boards built on top of checkra1n.
make all
ld64
and 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
If clang
, ld64
or cctools-strip
don't have their default names/paths, you'll want to change their invocation. For reference, the default variables are equivalent to:
EMBEDDED_CC=clang EMBEDDED_LDFLAGS=-fuse-ld=/usr/bin/ld64 STRIP=cctools-strip make all
The Makefile will create four binaries in build/
:
Pongo
- A Mach-O of the main PongoOSPongo.bin
- Same as the above, but as a bare metal binary that can be jumped tocheckra1n-kpf-pongo
- The checkra1n kernel patchfinder, as a Pongo module (Mach-O/kext)PongoConsolidated.bin
- PongoOS and the KPF merged into a single binarycheckra1n -k Pongo.bin # Boots to Pongo shell, KPF not available
checkra1n -k PongoConsolidated.bin # Auto-runs KPF and boots to XNU
checkra1n -k PongoConsolidated.bin -p # Loads KPF, but boots to Pongo shell
By submitting a pull request, you agree to license your contributions under the MIT License and you certify that you have the right to do so.
If you want to import third-party code that cannot be licensed as such, that shall be noted prominently for us to evaluate accordingly.
src/
.
tools/
.aarch64-none-darwin
.
example/
.scripts/
.
pongoterm
, an interactive shell client for macOS.checkra1n/kpf
.
checkra1n/kpf-test
(can only be run on arm64).