Apple iPad 1G (apple-ipad1g)

From postmarketOS
Revision as of 09:36, 3 December 2021 by Asdfugil (talk | contribs) (→‎Links)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Apple iPad (1G)
TTY on iPad
TTY on iPad
Manufacturer Apple
Name iPad (1G)
Codename apple-ipad1g
Released 2010
Category testing
Original software iPhone OS 3.2
postmarketOS kernel 5.3.0-rc6
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
Non-Android based device
Features
USB Networking
Broken
Flashing
Partial
Touchscreen
Broken
Display
Partial
WiFi
Broken
FDE
Mainline
Works
Battery
3D Acceleration
Broken
Audio
Bluetooth
Camera
Unavailable
GPS
Unavailable
Mobile data
SMS
Unavailable
Calls
Unavailable
USB OTG
NFC
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Barometer
Power Sensor
Misc
Keyboard
Touchpad
USB-A
HDMI/DP
Ir TX
TrustZone
FOSS bootloader


Contributors

  • scintill

Device Owners

  • BlackEyedSquid (Notes: 16GB, boot-loop issue - dead battery)
  • ByteXD23! (Notes: 16GB, boot-loop issue, dead battery)
  • KQuote03
  • Little-miss-synth (Notes: own 4 examples, 1 16gb, 1 32gb with cracked digitiser, 1 32gb without damage and one 64gb cellular unit)
  • Maxnet (Notes: trying to get openiBoot running)
  • Schrmh
  • UltrasonicMadness (Notes: Does not power on, has a significant dent on it)


Progress

Can boot into a mainline linux kernel, but the bootloader isn't persistent so it can only boot tethered.

Booting

  1. Install syringe package in chroot
  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 PMOS_NO_OUTPUT_REDIRECT\"\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