Close

LineageOS 21 KonstaKANG is working

A project log for Put a Raspberry Pi CM4 into an original iPad

Open up a 2010 iPad, remove its logic board, and fabricate a new board based around the Raspberry Pi CM4.

evanEvan 10/24/2024 at 07:230 Comments

I was able to get KonstaKANG's build of LineageOS 21 (Android 14) working on the Pipad!

It's an almost-stock image, but I had to make a few changes to the kernel:

# User specific config.txt options
dtoverlay=gpio-shutdown,gpio_pin=22,active_low=1,gpio_pull=up,debounce=10
dtoverlay=gpio-poweroff,gpiopin=25,active_low=1
dtoverlay=gpio-key,gpio=22,keycode=116,label="POWER"

dtoverlay=vc4-kms-dsi-ti-sn65dsi83
dtoverlay=pipad-touchscreen
dtparam=spi=off

Fortunately, the raspberry-vanilla kernel already comes with the Goodix touchscreen driver installed, so I didn't have to do anything to the pipad-touchscreen dtoverlay.

I've only got a few bits of hardware integration working at the moment -- just the bare minimum:

I got stuck for a little while where it would only display the boot animation on the LCD, and never progress past this -- it seems this was due to my CM4 only having 1GB of RAM (KonstaKang says you need at least 2GB.) I purchased a CM4 with more RAM, copied the disk image from the old CM4, and it booted up first try.

I'm super excited about this! A proper touchscreen-oriented OS is a much nicer experience using than trying to use Raspberry Pi OS. The on-screen keyboard pops up when necessary, all the tap targets are appropriately sized, etc. KonstaKang seems to have done an excellent job with e.g. hardware acceleration. Everything is super smooth, including Youtube playback in the browser.

This is my first time using LineageOS (or any custom Android image), so I still need to learn a ton. I'd like to get GApps installed (but need to be able to get into TWRP first, so I need to expose a GPIO pin on one of the buttons). I might also play around with the AOSP build, to see how that differs.

Hardware integration TODO list:

Discussions