All Projects → checkra1n → Pongoos

checkra1n / Pongoos

Licence: other
pongoOS

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Pongoos

Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+343.01%)
Mutual labels:  bootloader
Hoodloader2
16u2 Bootloader to reprogram 16u2 + 328/2560 with Arduino IDE
Stars: ✭ 509 (-51.89%)
Mutual labels:  bootloader
Awesome Embedded
A curated list of awesome embedded programming.
Stars: ✭ 831 (-21.46%)
Mutual labels:  bootloader
Hackintosh Installer University
Open source tutorial & information collector for hackintosh installation.
Stars: ✭ 3,815 (+260.59%)
Mutual labels:  bootloader
Onie
Open Network Install Environment
Stars: ✭ 411 (-61.15%)
Mutual labels:  bootloader
Mcuboot
Secure boot for 32-bit Microcontrollers!
Stars: ✭ 572 (-45.94%)
Mutual labels:  bootloader
Aio Boot
AIO Boot is an All-in-One bootable software for USB and HDD. Is one of the best Multiboot USB Creator for Windows.
Stars: ✭ 300 (-71.64%)
Mutual labels:  bootloader
Nemesis
💾 x86 operation system writen on fasm
Stars: ✭ 29 (-97.26%)
Mutual labels:  bootloader
Invaders
Invaders game in 512 bytes (boot sector)
Stars: ✭ 461 (-56.43%)
Mutual labels:  bootloader
P Load
The Pololu USB Bootloader Utility (p-load) is a command-line program that allows you to read and write from the memories of certain Pololu USB bootloaders.
Stars: ✭ 6 (-99.43%)
Mutual labels:  bootloader
Various mcu debugger diy
各种LInk大合集
Stars: ✭ 402 (-62%)
Mutual labels:  bootloader
Krabs
An x86 bootloader written in Rust.
Stars: ✭ 413 (-60.96%)
Mutual labels:  bootloader
Hackintosh
Hackintosh long-term maintenance model EFI and installation tutorial
Stars: ✭ 6,589 (+522.78%)
Mutual labels:  bootloader
Uf2
UF2 file format specification
Stars: ✭ 360 (-65.97%)
Mutual labels:  bootloader
Moto G5p Toolkit
A toolkit for unlocking the bootloader and rooting Moto G5 Plus built with Electron. Runs on Windows, Linux and macOS.
Stars: ✭ 26 (-97.54%)
Mutual labels:  bootloader
Bootstomp
BootStomp: a bootloader vulnerability finder
Stars: ✭ 303 (-71.36%)
Mutual labels:  bootloader
Stm32 Bootloader
Customizable Bootloader for STM32 microcontrollers. This example demonstrates how to perform in-application-programming of a firmware located on an external SD card with FAT32 file system.
Stars: ✭ 541 (-48.87%)
Mutual labels:  bootloader
Punchboot
Punchboot
Stars: ✭ 49 (-95.37%)
Mutual labels:  bootloader
U Boot mod
U-Boot 1.1.4 modification for routers
Stars: ✭ 884 (-16.45%)
Mutual labels:  bootloader
Controller
Kiibohd Controller
Stars: ✭ 775 (-26.75%)
Mutual labels:  bootloader

pongoOS

A pre-boot execution environment for Apple boards built on top of checkra1n.

Building on macOS

  • Install Xcode + command-line utilities
  • Run make all

Building on Linux

  • Install clang (if in doubt, from apt.llvm.org)
  • Install ld64 and cctools' strip.
    • On Debian/Ubuntu these can be installed from the checkra1n repo:
      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
      
    • On other Linux flavours you'll likely have to build them yourself. Maybe this repo will help you.
  • Run 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

Build artifacts

The Makefile will create four binaries in build/:

  • Pongo - A Mach-O of the main PongoOS
  • Pongo.bin - Same as the above, but as a bare metal binary that can be jumped to
  • checkra1n-kpf-pongo - The checkra1n kernel patchfinder, as a Pongo module (Mach-O/kext)
  • PongoConsolidated.bin - PongoOS and the KPF merged into a single binary

Usage

checkra1n -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

Contributions

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.

Structure

  • The core PongoOS and drivers are in src/.
    • Build-time helper tools are in tools/.
  • The stdlib used by PongoOS (Newlib) is in aarch64-none-darwin.
    • This includes a custom patch for Newlib to work with the Darwin ABI.
  • An example module exists in example/.
  • Scripts to communicate with the PongoOS shell are in scripts/.
    • This includes pongoterm, an interactive shell client for macOS.
  • The checkra1n kernel patchfinder (KPF) is in checkra1n/kpf.
    • This currently includes the SEP exploit, though that is to be moved into mainline PongoOS in the future.
  • A userland version of the KPF can be built from checkra1n/kpf-test (can only be run on arm64).
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].