Apple iPhone 4 (apple-iphone4)
Appearance
(Redirected from Apple iPhone 4)
This device has been tested with postmarketOS, but its device package has not yet been added to the postmarketOS repositories. This means that it cannot be selected in pmbootstrap. |
![]() Apple iPhone 4 booting Linux 6.17 | |
Manufacturer | Apple |
---|---|
Name | iPhone 4 |
Codename | apple-n90 |
Released | 2010 |
Type | handset |
Hardware | |
Chipset | Apple A4 |
CPU | ARM Cortex-A8 |
GPU | PowerVR SGX535 |
Display | 640x960 IPS TFT LCD |
Storage | 8/16/32 GB |
Memory | 512 MB |
Architecture | armv7 |
Software | |
Original software The software and version the device was shipped with. |
iOS 4.0 |
Extended version The most recent supported version from the manufacturer. |
iOS |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
no |
Flashing 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
|
Internal storage eMMC, SD cards, UFS, ... |
Broken
|
Battery Charging and battery level reporting works |
Broken
|
Screen Display works. Ideally with sleep mode and brightness control. |
Broken
|
Touchscreen |
Broken
|
Multimedia | |
3D Acceleration |
Broken
|
Audio Audio playback, microphone, headset and buttons. |
Broken
|
Camera |
Broken
|
Camera Flash |
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 |
Untested
|
Sensors | |
Accelerometer Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile |
Broken
|
Magnetometer Sensor to measure magnetism |
Broken
|
Ambient Light |
Broken
|
Proximity |
Broken
|
Haptics |
Broken
|
Users owning this device
- AppData 174
- AskorbinovayaKislota (Notes: iOS 7.1.2)
- Baonks81 (Notes: 512MB/16GB)
- Chaosleo07 (Notes: Mainline would be funny on this, shouldn't be too hard either since first gen iPad has the aame SoC)
- Clygro (Notes: 5 devices, 1x8GB, 3x16GB (one of them is iCloud locked), 1x32GB, various iOS versions)
- Fireman112 (Notes: Broken touchscreen)
- Hexagonwin (Notes: Currently iOS 4. I hope I can get mainline linux here like iPad 1G (Same SoC))
- Illen (Notes: 16 GB variant. Broken home button.)
- Jacobk (Notes: Passcode locked by previous owner)
- Kekson1a
- Lost-Entrepreneur439 (Notes: Bad NAND)
- Maxnet
- Meowking (Notes: Works fine)
- Mint (Notes: Jailbroken)
- NBon (Notes: Untested yet)
- Owen
- Schrmh
- Sputnik1973 (Notes: No screen, bad dock connector and no power/volume buttons, icloud locked 32gb.)
- Sputnik1973 (Notes: Revived from two non working ones, jailbroken 32gb.)
- TipzTeam (Notes: Works fine, running iOS 4.3.3 with blobs)
Booting Mainline kernel
Unfortunately there is no permanent BootROM exploit for S5L8930, so the device has to be put in DFU mode for each boot. Flashing a corrupted iOS image will put the device in DFU bootloop which will make it more convenient. openiBoot can be used for booting a mainline kernel.
- Download iPhone 4 recovery image and extract
Firmware/dfu/iBSS.n90ap.RELEASE.dfu
from it. - Rename
iBSS.n90ap.RELEASE.dfu
toiBSS.n90ap
and put it next to loadibec from syringe repository. - Once in DFU, load openiBoot image (prebuilt binary) with loadibec: (
./loadibec iphone_4_openiboot.bin
) - Once openiBoot loads, you will be able to interact with it using OiBC.
./oibc
!zImage #kernel image with s5l8930-apple-n90.dtb appended
kernel
!initramfs #postmarketOS initial ramdisk
initrd
boot
Broken buttons
If you have a device with broken power/home button and can't power it off, you can disconnect the battery. This device can boot to DFU on a charging cable without battery.
Mainline status
List of working features:
- Simple framebuffer
- USB in peripheral mode
- UART driver probes (untested)