El poder de Linux desde tu Android

Ejecutar Linux en Android con chroot-distro
Ejecuta distribuciones Linux en tu dispositivo Android con chroot-distro

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:

Ícono de Kali Linux
Kali Linux

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.

Ícono de Fedora
Fedora
Ícono de Debian
Debian

Debian

Estable y versátil, ideal para servidores y entornos personalizados.

Arch Linux

Personalizable y ligera, diseñada para usuarios avanzados.

Ícono de Arch Linux
Arch Linux
Ícono de Manjaro
Manjaro

Manjaro

Basada en Arch, pero más accesible para usuarios nuevos.

Alpine Linux

Ligera y segura, ideal para entornos minimalistas.

Ícono de Alpine Linux
Alpine Linux
Ícono de Void Linux
Void Linux

Void Linux

Independiente y minimalista, con un sistema de paquetes único.

Ubuntu

Amigable y ampliamente soportada, perfecta para usuarios de todos los niveles.

Ícono de Ubuntu
Ubuntu

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

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:

ComandoDescripción
chroot-distro helpMuestra la ayuda del módulo.
chroot-distro envProporciona información de depuración sobre el entorno.
chroot-distro listLista 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:

  1. Remontar /data: Habilita suid para la sesión actual (ejecutar en cada sesión).
    su -c mount -o remount,dev,suid /data

  2. 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

  3. 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.

Explora cursos sobre Android y Linux en Tsociety

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 shellcheck para 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:

error:
1
Escanea el código