Apple iPhone 8 (apple-iphone10,1)
Appearance
This device is marked as not booting. |
![]() iPhone 8 | |
Manufacturer | Apple |
---|---|
Name | iPhone 8 |
Codename | apple-iphone10,1 |
Released | 2017 |
Type | handset |
Hardware | |
Chipset | Apple A11 Bionic |
CPU | 2.39 GHz hexa-core 64-bit |
GPU | Custom Tri-Core Apple GPU |
Display | 750x1334 (326 ppi) Retina IPS LCD |
Storage | 64GB, 128GB, 256GB |
Memory | 2GB |
Architecture | aarch64 |
Software | |
Original software The software and version the device was shipped with. |
iOS 11 |
Extended version The most recent supported version from the manufacturer. |
iOS 16.7.11 |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
no |
Contributors
Users owning this device
- Alula
- BlackEyedSquid (Notes: 64GB, iOS 16 Beta 1; 64GB, iOS 15.2.1)
- Clygro (Notes: 64GB iOS 15.6 RC 1)
- Leahh
- Owen
Mainline
A mainline fork for this device is available here with further instructions here. Still needs to be tested and ported to postmarketOS.
Booting a modified PostmarketOS Initramfs
Required files
- Checkra1n 1337
- PongoOS (with BootM) (Prebuilt binary)
- A supported kernel
- m1n1-idevice
- pongoterm
- initramfs.gz
Instructions
Building things
This section assumes you're on a linux system with all dependencies installed. (Possible on CachyOS as of 30. June, 2025.)
Linux
# Get the Kernel Config wget https://raw.githubusercontent.com/HoolockLinux/docs/refs/heads/master/config_16k mv config_16k .config # With GCC: make -j$(nproc) ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image.gz dtbs # With CLANG: make -j$(nproc) ARCH=arm64 LLVM=1 Image.gz dtbs
pongoterm
# Get code wget https://github.com/checkra1n/PongoOS/raw/iOS15/scripts/pongoterm.c # Make sure to install libusb-1.0 gcc pongoterm.c -DUSE_LIBUSB -Os -lusb-1.0 -o pongoterm
Creating a m1n1 blob
cat m1n1.bin <(echo 'chosen.bootargs=loglevel=7 pmos.nosplash') \ <path to>/*.dtb \ <path to>/Image.gz \ <path to>/initramfs.new.gz > m1n1-linux.bin
Booting it
Booting PongoOS
Firstly, Enter DFU mode. This can be done using Palera1n.
palera1n -Dl
Sending and booting the Linux, initramfs images
printf '/send <path to>/m1n1-linux.bin\nbootm\n' | sudo <path to>/pongoterm
What do to now?
Currently, not much is possible.
Accessing the terminal
telnet 172.16.42.1 23
Unpacking and repacking the initramfs
You'd want to do this to add more software / modify the filesystem.
# Set up working directory mkdir initramfs mv initramfs.gz initramfs/ cd initramfs/ # Unpack the initramfs zcat initramfs.gz | sudo cpio -iv --make-directories # Remove the residue rm initramfs.gz # Do your modifications here! # E.G. sudo mv $(which neowofetch) bin/neowofetch # Re-pack it! find . | sudo cpio -ov --format=newc | gzip -c -1 > initramfs.gz
At this point, you can re-make the m1n1 blob and re-boot your iPhone 8 and you'll use the new initramfs.