Jump to content

Apple iPhone 6s/6s+ (apple-n71)

From postmarketOS Wiki
Note This device is supported as part of a generic port. Refer to Apple_Generic_iDevice_(apple-idevice) for installation instructions and more information.
Apple iPhone 6s
6s+
iPhone 6s+ running postmarketos
iPhone 6s+ running postmarketos
Manufacturer Apple
Name iPhone 6s
6s+
Codename apple-n71 apple-n66
Released 2015
Type handset
Hardware
Chipset Apple A9
CPU 1.85GHz dual-core 64-bit
GPU Custom PowerVR GT7600 (6 core)
Display 1334×750 (326 ppi) (iPhone 6s) 1920x1080 (401 ppi) (iPhone 6s+)
Storage 16, 32, 64, 128 GB
Memory 2 GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
iOS 9.0
Extended version
The most recent supported version from the manufacturer.
iOS 15.8.6
postmarketOS
Category testing
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
pmOS kernel
The kernel version that runs on the device's port.
6.18.1
Generic port Apple_Generic_iDevice_(apple-idevice)
Device package device-apple-idevice
Kernel package linux-postmarketos-apple-16k
Features
Flashing
Whether it is possible to flash the device with pmbootstrap flasher.
Broken
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Battery
Whether charging and battery level reporting work.
Broken
Screen
Whether the display works; ideally with sleep mode and brightness control.
Works
Touchscreen
Broken
Multimedia
3D Acceleration
Broken
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
Connectivity
WiFi
Broken
Bluetooth
Broken
GPS
Broken
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB OTG
USB On-The-Go or USB-C Role switching.
Partial
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
Broken

The iPhone 6s is the successor to the iPhone 6 it had upgraded hardware over it's predecessor most notably the A9 chip which was the first to use 16k page

Maintainer(s)

Users owning this device

  • AppleCross (Notes: IC locked)
  • Asdfugil
  • Bashmac3 (Notes: Works)
  • Clygro (Notes: 16GB 6S iOS 9.2.1 (activation bypassed, not jailbroken), 16GB 6S+ iOS 11.4.1 (half of the digitiser doesn't work and blurry and shaky camera))
  • Codycode (Notes: I have no hope for this device)
  • Jacobk (Notes: Haven't tried running pmOS)
  • Jan64X (Notes: No battery(got spicy pillow syndrome))
  • Jn
  • KrakinTheKonsole (Notes: Dead battery)
  • Pentiumpro (Notes: 6s rose gold, dead nand (?), probably can boot hoolocklinux with iBoot though)
  • Pixelo789 (Notes: An iPhone 6s Plus with a broken screen)
  • Sh1rom1k (Notes: iPhone 6s. Mint Condition. 32gb. ios 15.8.3)
  • Tuxman (Notes: Running iOS 15 jailbroken)

How to enter flash mode

You have to enter DFU mode.

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

The screen should stay blank if everything went good.

Installation

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

Prerequisites

Warning WARNING: Compilation of these tools on Alpine is broken currently. You can get some pre-compiled binaries here.
  • palera1n
  • Computer with an Intel CPU (AMD has issues with checkm8 exploit)
  • PongoOS
  • pongoterm (You need to compile it yourself check the original guide below)
  • m1n1-idevice
  • linux-apple dtbs
    • Extracted pre-compiled from the linux-postmarketos-apple package.
TODO TODO: Document extracting dtbs from kernel package.


$ pmbootstrap init
Select 'apple' for vendor and 'idevice' for codename
$ pmbootstrap install
Optionally enable netboot (highly recommended)
$ pmbootstrap initfs hook_add netboot
Get the linux and initramfs
$ pmbootstrap export
Prep the m1n1 bootloader
$ cat path/to/m1n1.bin \
    path/to/boot/dtbs/apple/*.dtb \
    /tmp/postmarketOS-export/vmlinuz  \
    /tmp/postmarketOS-export/initramfs \
    > m1n1-linux.bin
Use palera1n to boot PongoOS
$ PALERA1N_BYPASS_PASSCODE_CHECK=1 sudo palera1n -p -f -k path/to/Pongo.bin
Boot postmarketOS!
$ printf '/send path/to/m1n1-linux.bin\nbootm\n' | sudo path/to/pongoterm

Now your device should start booting postmarketos after displaying the asahi linux logo ;)

Netboot

If you enabled netbooting during the flashing setup you can use it to boot a rootfs. To serve the rootfs, run:

$ pmbootstrap netboot serve

If you see a tty and a login screen, that means pmOS is working! Now you can go through the usual procedures. (Using ssh, getting internet, etc.)

See also