Jump to content

Apple iPad 1G (apple-k48)

From postmarketOS Wiki
Apple iPad (1G)
TTY on iPad
TTY on iPad
Manufacturer Apple
Name iPad (1G)
Codename apple-k48
Released 2010
Type tablet
Hardware
Chipset Apple A4
CPU 1x 1 GHz Cortex-A8
GPU PowerVR SGX535
Display 1024x768
Storage 16/32/64 GB
Memory 256 MB
Architecture armv7
Software
Original software
The software and version the device was shipped with.
iOS 3.2
Extended version
The most recent supported version from the manufacturer.
iOS
postmarketOS
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
no
pmOS kernel
The kernel version that runs on the device's port.
5.3.0-rc6
Features
Flashing
It is possible to flash the device with pmbootstrap flasher.
Partial
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Broken
Battery
Charging and battery level reporting works
Untested
Screen
Display works. Ideally with sleep mode and brightness control.
Partial
Touchscreen
Broken
Multimedia
3D Acceleration
Broken
Audio
Audio playback, microphone, headset and buttons.
Untested
Connectivity
WiFi
Broken
Bluetooth
Untested
Modem
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Untested

Contributors

  • scintill

Device Owners

Booting

  1. Install syringe package in chroot: pmbootstrap chroot --add syringe
  2. Enter DFU mode (hold Power and Home with USB connected to computer)
  3. load openiboot
$ loadibec openiboot-ipad1g.bin

expect script for automating booting with oibc:

#!/usr/bin/expect
spawn oibc

send "!/path/to/vmlinuz\r"
sleep 0.1
send "\r"
expect "Received file"
send "kernel \"console=tty0\"\r"
expect "Done: kernel"

send "!/path/to/initramfs\r"
sleep 0.1
send "\r"
expect "Received file"
send "initrd\r"
expect "Done: initrd"
send "wait_boot 15000\r"
expect "Done: boot"
  • Set console=ttySAC0 for UART console instead of framebuffer
  • earlycon=s3c2410,0x82500000 and keep_bootcon may be useful too.

Links