HACKER Q&A
📣 alraj

Why are there no custom Kernel or Hobby OS projects in mobile hardware?


There are countless hobby OS projects in x86 platform, there are also countless resource on how to create a custom OS, but why are there no resource or hobby OS projects in Android phones hardware?

I am not talking about PostmarketOS or similar large community projects, just small single person hobby projects.

And are there any resourc guide on creating a simple kernel which shows "Hello world" in the phone boot screen like x86 kernel project guides?

Can anyone share the links for OS development resource in android phones and resource for understanding android mobile hardware?


  👤 saidinesh5 Accepted Answer ✓
From the places I have lurked in so far, a lot of effort goes into reverse engineering the drivers etc... on these SOCs. If you were to spend weeks/months trying to figure out those details, it kind of makes sense to get mainline linux to run on these devices as opposed to a custom OS with no existing software.

If truly custom OS/Kernel is what you want, someone was trying to run NuttX RTOS on Pinephone:

1) Booting NuttX: https://lupyuen.github.io/articles/uboot 2) Writing an LCD Driver: https://lupyuen.github.io/articles/dsi2 3) Getting a basic terminal running using LVGL: https://lupyuen.github.io/articles/terminal

I'd still recommend trying to port PostmarketOS/Ubuntu touch/Sailfish OS etc.. to your phone first. That can be a good beginner friendly way to understand what happens on your smart phone: the boot process, software stack etc.. and then you can go deeper by either customizing the software (Boot into a little web browser and call it a web phone etc..)/drivers to your liking (Adding features like double tap to wake)/trying to port mainline kernel to them.


👤 brudgers
The least charitable explanation: mobile hardware is designed adversarially with regard to end users. The most charitable explanation is providing access is too much work than can be justified as a business expensive.

I think reality is somewhere in between. End users of mobile phones are a threat vector to carrier infrastructure. Phones obsoless quickly because electronics manufacture is so fluid.

To put it another way, producing comprehensive technical documentation would probably take longer than the product life cycle of the products documented, and the fat part of the belle-curve of comprehensive documentation use cases is amateur experimentation.

In other words, there's no reasonable business case for giving you ready access to technical documentation and a lot of reasonable business cases against it.

I am not saying this is good. Not saying it is bad. It just is and therefore is not worth having an opinion on because I am not in a position to change it. Probably noone is, it's too complex.


👤 jacquesm
Because the hardware is usually locked down much more than a typical PC and there is far less documentation. So the barrier to entry is substantially higher than for OS development on PCs.