Native Linux on Android's SOCs
I wanted to know for quite some time why linux operating systems are not ported to phones or tablets SOCs with android? Like how they are on desktops and laptops.
I know linux can run on various devices with different CPU architectures, I use linux daily, and android uses a modified linux kernel so why it is so hard to run some linux OS natively on an android based device?
We have projects like https://andronix.app/ , https://play.google.com/store/apps/details?id=com.termux and https://github.com/meefik/linuxdeploy but even with
chrootthat's not natively. I even played with them but they are limited. For example, hardware devices access like GPU is very problematic (e.g. use hardware acceleration).
The main reason:
There is no revenue-generating stream for Linux on smartphones in comparison to Android.
Technical reasons, which can't be solved without heavy investments
Just porting Linux to SoC is not enough. Linux is only a kernel.
You will need to develop a distro suitable for a smartphone.
Android = 1. AOSP + 2. patches and blobs from SoC vendor + 3. user apps`
Patches and blobs from SoC vendor
#2 in the equation has restricted access. SoC vendors don't share internal details even with OEMs, only providing a minimum description for available APIs. Typical Android-capable SoC has a lot of proprietary peripheral modules (such as mentioned GPU or Audio, Image processing, radio modules). Some of them require OS drivers, others even specific complex FW with a separate OS. Even for some desktop peripherals, this factor blocks Linux support.
There were attempts to develop an open-source smartphone. As we can see, they didn't get widespread till the moment, and some of the projects were discontinued. The main reason is the same: the model didn't prove its sustainability.