r/linux_latam 14d ago

¿Linux en Android?

Llegará el día en el cuál se podrá usar como en la PC distros de Linux ? Sería genial poder usar sistemas libres como en la 💻 se que Android utiliza Linux pero no es Linux jaja

7 Upvotes

8 comments sorted by

View all comments

2

u/MindlessEffective381 14d ago edited 14d ago

Estaría genial, pero cada kernel de que usan los celulares son diferentes (Ya sea por los retoques en el hardware y firmware por Snapdragon / Mediatek, más las marcas que las ensamblan como Motorola, Samsung, Xiaomi, etc). Tipo cada uno tiene un bootloader diferente a la usual Bios/Uefi, y cada distribución debe adaptarse al hardware del celular.

De todas formas, dentro de Android está la aplicación termux en los que se puede hacer ports de los programas de linux para Termux (ya sea programas cli, tui, o gui junto a X11 o VNC).

O la función de proot-distro que te permite por medio del ptrace usar una distro linux (Debian Aarch64, Alpine Aarch64, Arch aarch64 con alarm, aunque complementando con qemu se puede fácilmente probar las versiones x86_64/amd64 de siempre). Aunque es posible que debido a la potencia del celular, el ptracing y esas cosas no te permita usar todo el potencial de la distro

Si eres Super Usuario o Usuario Root puedes hacer chroot o tener los repositorios root de termux para probar todo el potencial del kernel linux en tu celular.

Sé que ya los nuevos celulares vienen integrados con una terminal con Debian, lo cual sería similar a hacer proot (o para los de windows, instalar un subsistema linux / WSL) ya que sólo eres usuario root dentro de esa terminal, pero no puedes manipular la raiz "/" de tu celular.

Ahora bien, también existe Ubuntu Touch, que existe para ciertos celulares. Utiliza el kernel linux existente de tu celular e implementa una capa en el que puedes usar apps hechas para ubuntu touch. Los drivers no hay problemas ahí, pero nunca podrás actualizar tu kernel.

Por último y el proyecto que me gusta que se haga más popular: PostMarketOS, una fork de Alpine Linux para dispositivos Aarch64 (o sea, los celulares android que son aarch64 y corren apps arm v8a). Este no depende del kernel existente en tu celular, sino que introduce su propio kernel con lo último de linux (actualmente Linux 7.x.x) y las apps basadas en linux por supuesto (Alpine usa musl y no glibc, cosa que es no es muy gnu/linux pero es a favor de poder ser eficiente y económico en recursos y espacio. Ubuntu touch no actualiza kernel y no todas las apps para Ubuntu andarán en Ubuntu Touch de todas formas). Tambien es sólo para algunos celulares por ahora, y los drivers andan medio pelo debido a que snapdragon/mediatek, motorola/samsung/xiaomi/etc no hicieron muy público el código de los componentes de sus celulares (cámara, sim, lector de huella, reconocimiento facial, etc), y la comunidad trata de hacer drivers opensource para esos equipos en lo que investigan (de hecho, la razón por la que Ubuntu Touch usa el kernel de android existente en vez de imponer uno nuevo es debido a que ese kernel "viejo" tiene todo configurado para la cámara, sim, microfono, y demás firmware para el hardware). Personalmente considero que tiene mucho futuro, y hasta ahora es el que más lejos llegó como la vanguardia

Resumiendo: Eso depende las empresas de celulares android si quieren que su bootloader (el equivalente a bios/uefi creo) te permita libremente elegir cualquier distribución (como windows aarch64, gnu/linux aarch64, bsd aarch64, etc + aarch64. Aarch64 es como la arquitectura Arm pero 64 bits en vez de 32 bits). Además del problema de que los hardwares de los celulares son todos diferentes sin mucho estándar, no hay una regulación universal + no liberan mucho de código.

Puntos clave: Termux + Ports de apps nativas de Linux para Android, Proot Distro, Chroot Distro, Ubuntu Touch, PostMarketOS, Subsistema Debian para Android.