Apple iPhone 6s/6s+ (apple-n71)
Appearance
| This device is supported as part of a generic port. Refer to Apple_Generic_iDevice_(apple-idevice) for installation instructions and more information. |
|
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 |
|
| Kernel package |
|
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 + for 8 seconds
- Release and keep holding 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: 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: 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.)