{"id":15030526,"url":"https://github.com/checkra1n/pongoos","last_synced_at":"2025-05-14T02:09:38.597Z","repository":{"id":37659279,"uuid":"238539562","full_name":"checkra1n/PongoOS","owner":"checkra1n","description":"pongoOS","archived":false,"fork":false,"pushed_at":"2025-04-02T22:18:37.000Z","size":1879,"stargazers_count":2565,"open_issues_count":46,"forks_count":427,"subscribers_count":262,"default_branch":"master","last_synced_at":"2025-04-24T08:42:26.039Z","etag":null,"topics":["bootloader","checkra1n","ios"],"latest_commit_sha":null,"homepage":"https://checkra.in","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/checkra1n.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-02-05T20:14:32.000Z","updated_at":"2025-04-22T02:50:31.000Z","dependencies_parsed_at":"2024-01-28T19:29:35.373Z","dependency_job_id":"0b701f12-3fce-44ed-9cdb-774fc384f739","html_url":"https://github.com/checkra1n/PongoOS","commit_stats":{"total_commits":153,"total_committers":10,"mean_commits":15.3,"dds":"0.43137254901960786","last_synced_commit":"4c9b7541629234147fcc778f0ce4162482aaccef"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/checkra1n%2FPongoOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/checkra1n%2FPongoOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/checkra1n%2FPongoOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/checkra1n%2FPongoOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/checkra1n","download_url":"https://codeload.github.com/checkra1n/PongoOS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254053272,"owners_count":22006717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootloader","checkra1n","ios"],"created_at":"2024-09-24T20:13:36.416Z","updated_at":"2025-05-14T02:09:33.586Z","avatar_url":"https://github.com/checkra1n.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pongoOS\n\nA pre-boot execution environment for Apple boards built on top of checkra1n.\n\n## Building on macOS\n\n- Install Xcode + command-line utilities\n- Run `make all`\n\n## Building on Linux\n\n- Install clang (if in doubt, from [apt.llvm.org](https://apt.llvm.org))\n- Install `ld64` and cctools' `strip`.\n  - On Debian/Ubuntu these can be installed from the checkra1n repo:\n    ```\n    echo 'deb https://assets.checkra.in/debian /' | sudo tee /etc/apt/sources.list.d/checkra1n.list\n    sudo apt-key adv --fetch-keys https://assets.checkra.in/debian/archive.key\n    sudo apt-get update\n    sudo apt-get install -y ld64 cctools-strip\n    ```\n  - On other Linux flavours you'll likely have to build them yourself. Maybe [this repo](https://github.com/Siguza/ld64) will help you.\n- Run `make all`\n\nIf `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:\n\n    EMBEDDED_CC=clang EMBEDDED_LDFLAGS=-fuse-ld=/usr/bin/ld64 STRIP=cctools-strip make all\n\n## Build artifacts\n\nThe Makefile will create four binaries in `build/`:\n\n- `Pongo` - A Mach-O of the main PongoOS\n- `Pongo.bin` - Same as the above, but as a bare metal binary that can be jumped to\n- `checkra1n-kpf-pongo` - The checkra1n kernel patchfinder, as a Pongo module (Mach-O/kext)\n- `PongoConsolidated.bin` - PongoOS and the KPF merged into a single binary\n\n## Usage\n\n    checkra1n -k Pongo.bin                  # Boots to Pongo shell, KPF not available\n    checkra1n -k PongoConsolidated.bin      # Auto-runs KPF and boots to XNU\n    checkra1n -k PongoConsolidated.bin -p   # Loads KPF, but boots to Pongo shell\n\n## Contributions\n\nBy submitting a pull request, you agree to license your contributions under the [MIT License](https://github.com/checkra1n/pongoOS/blob/master/LICENSE.md) and you certify that you have the right to do so.  \nIf you want to import third-party code that cannot be licensed as such, that shall be noted prominently for us to evaluate accordingly.\n\n## Structure\n\n- The core PongoOS and drivers are in `src/`.\n  - Build-time helper tools are in `tools/`.\n- The stdlib used by PongoOS (Newlib) is in `aarch64-none-darwin`.\n  - This includes a custom patch for Newlib to work with the Darwin ABI.\n- An example module exists in `example/`.\n- Scripts to communicate with the PongoOS shell are in `scripts/`.\n  - This includes `pongoterm`, an interactive shell client for macOS.\n- The checkra1n kernel patchfinder (KPF) is in `checkra1n/kpf`.\n  - This currently includes the SEP exploit, though that is to be moved into mainline PongoOS in the future.\n- A userland version of the KPF can be built from `checkra1n/kpf-test` (can only be run on arm64).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheckra1n%2Fpongoos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcheckra1n%2Fpongoos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheckra1n%2Fpongoos/lists"}