Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For starters, the microkernel like driver model, where classical Linux drivers are considered legacy, since Android 8 all modern drivers run on their own processes (Java or C++) and talk with the kernel via Android IPC, known as Binderized HAL.

https://source.android.com/docs/core/architecture/hal/archiv...

https://source.android.com/docs/core/architecture/hal

Processes are sandboxed, in which app gets its own user id, everything that Google considers not a public API gets blacklisted, via a mix of LinuxSE and seccomp.

Native executables are not allowed per se on userspace, native code outside system processes has to always be a shared object loaded into the Zygote process fork, which takes the init role on Android. There are ways to launch executables, but they are frowned upon.

https://source.android.com/docs/core/runtime/zygote

Android is quite stright in memory consumption, an application that is seen as misbehaving gets killed without remorses.

For all details, you can go from here https://source.android.com/docs/core/architecture/kernel



Modern distros supports binder too. In the reverse, you can run Waydroid, which is an Android userland under a Wayland distro.

On native executables and such, file and objdump once I installed clang under termux to compile a simple binary tells me otherwise.


I bet you didn't install Termux from the PlayStore.

What matters is how an Android device as bought on a random shop as consumer behaves, not how one can hack around Android and AOSP.


Install it from F-Droid. If you are advanced enough to run Terminal bound software, using PlayStore is not the developers' fault.


It is the developers fault for Termux's architecture not being aligned with Android's app model.


Thus my point is made, should have placed the bet.


TIL that binderfs is a mainline kernel feature now,

Back when I used Waydroid, I had to use an out-of-tree module picked from the Anbox project. I have stopped using Waydroid but good to know that binderfs is a thing!


This reply doesn't address why a container would be unable to work due to "heavy modification."


Containers are native executables (with cgroup rules sprinkled on top). If Android does not let you call exec in the traditional way then you have a problem.

Also you're moving the goalpost with this comment a bit. My original comment says "may benefit from" being run under a "vanilla" kernel, as opposed to saying it would be completely non-functional under Android's kernel.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: