Apple iPhone 7/7+ (apple-iphone7)

From postmarketOS

A mainline fork for this device is available here with further instructions here. Still needs to be tested and ported to postmarketOS.

These two devices can boot Android (via Project Sandcastle) so a postmarketOS port could be possible once flash storage drivers are added.


Apple iPhone 7/
7 plus
The iPhone 7, Booting PostmarketOS
The iPhone 7, Booting PostmarketOS
Manufacturer Apple
Name iPhone 7/
7 plus
Codename apple-iphone7
Released 2016
Category testing
Pre-built images no
Original software iOS
Original version 10.0.1
postmarketOS kernel 5.4.12
Hardware
Chipset Apple A10 Fusion
CPU 2.34GHz quad-core 64-bit
GPU Custom PowerVR GT7600 Plus (6 core)
Display 1334×750 (326 ppi) (iPhone 7) 1920x1080 (401 ppi) (iPhone 7+)
Storage 32, 128, 256 GB
Memory 2 GB (iPhone 7) 3 GB (iPhone 7+)
Architecture AArch64
Type handset
Features
USB Networking
Flashing
Partial
Touchscreen
Display
Works
WiFi
FDE
Mainline
Broken
Battery
3D Acceleration
Audio
Bluetooth
Camera
GPS
Mobile data
Internal storage
SMS
Calls
USB OTG
Partial
NFC
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Barometer
Power Sensor
Misc
Built-in DVB
Camera Flash
Keyboard
Touchpad
USB-A
HDMI/DP
Ir TX
Ir RX
Stylus
Memory Card
Haptics
Ethernet
FOSS bootloader


Contributors

Users owning this device

How to enter flash mode

No proper flash mode, but kernel can be booted via checkra1n/PongoOS.

First you have to enter DFU mode.

  • Power off your phone and connect it to your computer via USB
  • Hold down Volume Down + Power for 8 seconds
  • Release Power and keep holding Volume Down for another 10 seconds

The screen should stay blank if everything went good.

To enter PongoOS, from where we can load the Linux kernel, run following command on the host machine:

$ ./checkra1n -cpE

PongoOS will start booting and printing messages on the screen.

Installation

There is a manual method described in this blog post.

After this pull request is merged, one could possibly boot the kernel by just running

$ pmbootstrap flasher boot

See also