In the last few months I was looking into adding support for some older Android phones to postmarketOS. Porting an existing downstream kernel to a real Linux operating system for mobile systems wasn’t that hard following the easy porting guide from the pmOS wiki.
Here’s a roundup on what I have achieved so far ;)
This is an older Android phone from 2011 but still able to boot postmarketOS with a downstream kernel found on Github. Support without any further features got merged into pmaports (repository for device support). Root filesystem is copied onto sd card and kernel directly booted from
I’m unsure if this could be an easy candidate for mainlining but it would be interesting to try it anyway.
Samsung Galaxy W
An other old phone from 2011 which I found in a box at home containing old phones. It does boot quite well into the Wayland reference compositor Weston. Touch seems to work too.
Flashing postmarketOS onto this phone was a lot more complicated than I thought. Heimdall support is broken and flashing was only possibly with an very old tool called Odin Multi Downloader. Detailed instructions can be found in the postmarketOS wiki.
Samsung Galaxy Note 4
This is a hard one. I could find a downstream kernel for this specific model but compiling it was difficult. Even after applying patches and making kernel config changes, the compiled kernel doesn’t want to boot … There are still some workarounds and hacks I could try to get something to boot, but I guess this is too time consuming for now.
At least I could clarify and add some points on the Wiki page. Maybe someone want to pick up the pull request and could get it to work.
Support for the iPhone 7/7+ got merged into postmarketOS last July 2021. Until now, it is not easy to install or boot since the helper tool
pmbootstrap doesn’t have any flash method for Apple devices. That is something I’m also considering to implement in a followup merge request. Booting Linux on the iPhone using the simple
pmbootstrap command requires following tools to be merged into Alpine Linux upstream repository:
checkra1n, the tool to exploit the iPhone 7 DFU mode and enable the custom bootloader pongoOS. Since checkra1n is not open-source yet, we have some issues packaging it into postmarketOS.
pongoos-loader, already merged in
testing. It transfers the compressed Linux kernel image together with a custom DTB-file to pongoOS and starts booting the kernel.
An other issue is that both tools require root access to run successfully. I haven’t managed to achieve non-root phone access using udev-rules.
The aim is to have the setup as simple as possible. So you would only have to boot into DFU mode and run
pmbootstrap flasher boot to get the kernel booting. This doesn’t mean we’ll have an OS booting into a graphical session but at least a booting kernel ;)