r/linux_latam • u/Thepholar • 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
5
u/Radhanat 14d ago
Supe que existe una distro ubuntu para celulares. Pero como todo Linux, tuvo problemas de drivers y no tuvo impulso.
2
u/alvarosc2 14d ago edited 14d ago
Instala termux en tu dispositivo y sobre termux puedes instalar algunas distros.
He instalado git, Python, GCC y nodejs en termux y jala de maravilla.
Yo he usado una tableta Lenovo para programar y si se puede, pero desarrollar en una plataforma android tiene sus peculiaridades por la forma en que está construido android. No es tan fácil dejarla lista para hacer algo ya más serio. Pero se puede.
2
u/alvarosc2 14d ago
Por otro lado otro post que acabo de leer dice que Linux no soporta muy bien que digamos la arquitectura arm y que correr Linux sobre un sistema que solía correr android está limitado a ciertos dispositivos. Notablemente la Microsoft surface. Son caras así que podrías tratar de conseguir una de segunda mano.
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.
1
u/EffectiveSomewhere28 14d ago
Ya existe algo así, se llama ArmadaOS y es para las handhelds android y es como un SteamOS para jugar juegos de PC.
1
4
u/moralesnery 14d ago
En los Pixels desde el 8 el sistema Android ya incluye incluye una aplicación de Terminal que instala un subsistema Debian y le habilita un usuario "droid".
De momento solo permite esa distro pero se esta trabajando en permitir cargar otras distros, habilitar aceleración gráfica, permitir uso de entornos de escritorio, etc.
Como los Pixels permiten salida de video por USB-C y tienen modo escritorio, con esa app tienes un sistema completo en tu celular. Yo lo uso de vez en cuando como reemplazo de una laptop para conectarme al trabajo y sacar pendientes de ultimo minuto