
Ejecuta Linux en Android con chroot-distro
Con el módulo chroot-distro para Magisk, puedes ejecutar una amplia selección de distribuciones Linux directamente desde tu dispositivo Android, incluyendo entornos de escritorio completos. Transforma tu dispositivo en una potente herramienta para desarrollo, pruebas o aprendizaje.
Distribuciones compatibles
Explora una variedad de distribuciones Linux, cada una con su propio entorno y herramientas. A continuación, algunas de las opciones disponibles:

Kali Linux
Ideal para pruebas de penetración y ciberseguridad, con herramientas preinstaladas para hacking ético.
Fedora
Una distribución robusta y moderna, perfecta para desarrollo y uso general.


Debian
Estable y versátil, ideal para servidores y entornos personalizados.
Arch Linux
Personalizable y ligera, diseñada para usuarios avanzados.


Manjaro
Basada en Arch, pero más accesible para usuarios nuevos.
Alpine Linux
Ligera y segura, ideal para entornos minimalistas.


Void Linux
Independiente y minimalista, con un sistema de paquetes único.
Ubuntu
Amigable y ampliamente soportada, perfecta para usuarios de todos los niveles.

Otras distribuciones soportadas incluyen Parrot OS, BackBox, CentOS, CentOS Stream, Artix Linux, Deepin, OpenKylin, OpenSUSE, y Pardus. Consulta la lista completa en el README.
Requisitos de instalación
Advertencia: Rootear tu dispositivo puede anular la garantía y presentar riesgos de seguridad. Realiza copias de seguridad antes de proceder.
Para usar chroot-distro, necesitas:
- Una versión reciente del módulo Busybox para Android NDK Magisk (versión 1.36.1 recomendada; la 1.32.1 no es compatible).
- Un dispositivo Android rooteado con Magisk, KernelSU o APatch.
- Acceso a un terminal como Termux, MT Manager, TWRP o ADB Shell.
Nota: Usar Busybox integrado en Magisk/KernelSU/APatch sin el módulo específico puede causar errores. Asegúrate de instalar una versión adecuada para evitar problemas al descargar o instalar rootfs.
Rutas de Android en distribuciones
Las siguientes rutas de Android están disponibles en las distribuciones chroot:
/dev/sys/proc/dev/pts/sdcard/system(no montado por defecto)/storage/data(no montado por defecto)
Uso de root
El módulo chroot-distro requiere permisos de root para funcionar. Aunque los desarrolladores trabajan para minimizar riesgos, es posible eliminar accidentalmente archivos críticos. Realiza una copia de seguridad de tu firmware antes de usar el módulo y procede con precaución, como con cualquier dispositivo rooteado.
Comandos disponibles
Los siguientes comandos están disponibles para gestionar distribuciones con chroot-distro:
| Comando | Descripción |
|---|---|
chroot-distro help | Muestra la ayuda del módulo. |
chroot-distro env | Proporciona información de depuración sobre el entorno. |
chroot-distro list | Lista las distribuciones Linux disponibles. |
chroot-distro download <distro> | Descarga el rootfs de una distribución. |
chroot-distro redownload <distro> | Vuelve a descargar el rootfs de una distribución. |
chroot-distro delete <distro> | Elimina el rootfs de una distribución. |
chroot-distro install [-a|--android] <distro> | Instala una distribución. Usa -a o --android para montar /data o /system. |
chroot-distro reinstall [-a|--android] <distro> | Reinstala una distribución. Usa -a o --android para montar /data o /system. |
chroot-distro uninstall <distro> | Desinstala una distribución. |
chroot-distro backup <distro> [<path>] | Crea una copia de seguridad de una distribución en la ruta especificada (opcional). |
chroot-distro unbackup <distro> | Elimina la copia de seguridad predeterminada de una distribución. |
chroot-distro restore [-d|--default] [--force] <distro> [<path>] | Restaura una distribución. Usa -d o --default para configuraciones predeterminadas; --force para copias antiguas. |
chroot-distro unmount <distro> | Desmonta los puntos de montaje del sistema. |
chroot-distro command <distro> <command> | Ejecuta un comando en la distribución (usa comillas para parámetros, ej. "ping 127.0.0.1"). |
chroot-distro login <distro> | Inicia sesión en una distribución. |
Ejemplo de uso
Para descargar, instalar e iniciar sesión en Ubuntu, ejecuta:
chroot-distro download ubuntu
chroot-distro install ubuntu
chroot-distro login ubuntu
Configurar VNC para entornos gráficos
Para usar un entorno gráfico (probado en Ubuntu y Debian), instala y configura un servidor VNC:
apt update
apt upgrade
apt install tightvncserver nano dbus-x11 xfce4 xfce4-goodies xfce4-terminal
update-alternatives --config x-terminal-emulator
vncserver
vncserver -kill :1
echo 'startxfce4 &' >> ~/.vnc/xstartup
Iniciar el servidor VNC:
vncserver
Detener el servidor VNC:
vncserver -kill :1
Usa cualquier aplicación VNC para conectarte desde tu dispositivo Android.
Habilitar sudo
Android restringe el uso de suid en la carpeta /data, lo que puede impedir el uso de sudo en los rootfs. Aquí hay tres soluciones:
- Remontar /data: Habilita
suidpara la sesión actual (ejecutar en cada sesión).
su -c mount -o remount,dev,suid /data
- Crear una imagen ext4: Monta una imagen en
/data/local/chroot-distro.
# Usa el tamaño deseado
su -c truncate -s 15G /data/local/distros.img
su -c mke2fs -t ext4 /data/local/distros.img
# Ejecutar tras cada reinicio
su -c mount /data/local/distros.img /data/local/chroot-distro
- Usar una tarjeta SD con ext4: Formatea una tarjeta SD y móntala en
/data/local/chroot-distro. Sigue las instrucciones en XDA Developers. Nota: Ejecuta el montaje tras cada reinicio.
Las opciones 2 y 3 son más seguras, ya que reducen el riesgo de errores y prolongan la vida útil del almacenamiento interno al minimizar escrituras. Ten en cuenta que una tarjeta SD con ext4 no será accesible para Android de forma predeterminada.
Contribuir al desarrollo
Si deseas contribuir al desarrollo de chroot-distro o probar correcciones de errores, puedes crear una versión de desarrollo con:
zip chroot-distro.zip config.sh module.prop META-INF/com/google/android/* system/bin/chroot-distro
Alternativamente, habilita SSH en una distribución, actualiza el script remotamente y pruébalo sin reiniciar. También puedes desarrollar directamente en el dispositivo o mediante conexión remota.
Para garantizar la calidad del código:
- Prueba los cambios en Termux y ADB Shell, ya que este último solo usa comandos de Busybox y Toybox, que pueden comportarse diferente.
- Usa
shellcheckpara cumplir con POSIX y evitar nuevas advertencias (documenta excepciones con# shellcheck disable=SCXXXX). - Consulta el tutorial de Grymoire para aprender sobre scripts POSIX.
Versionado
chroot-distro utiliza versionado semántico (mayor.menor.parche):
- Mayor: Cambios que rompen la compatibilidad de la API.
- Menor: Nuevas funciones o cambios significativos compatibles.
- Parche: Correcciones de errores o cambios menores.
Licencia
chroot-distro está licenciado bajo GNU GPL v3.

Comparte este artículo:
