Bueno, después de lo que anduve renegando, pude hacer andar Debian en una HTC Dream con Android 2.1.
Anoche me senté un rato y armé tutoriales para que otros puedan hacerlo si les interesa, junto con los archivos necesarios.
Es algo bastante raro y específico, a pocos les va a interesar, pero para esos pocos escribo :)
En mi G1 estoy corriendo Android 2.1, con la ROM KiNgxKxlicK AOSP 2.1 versión 1.6.1
Aquí pueden bajarla, no voy a hacer un instructivo sobre cómo instalarla porque el tema de ROMs en Android es más que extenso, y hay muchos tutoriales dando vueltas por la web.
Puede que los pasos que detallo en este tutorial no funcionen exactamente igual en otras ROMs y otros dispositivos, pero con probar no se pierde nada más que tiempo :).
Lo que sí o sí es necesario, es que la ROM que estén usando sea rooteada (es decir, que tengan permisos de root). Si no es una ROM rooteada, no van a poder hacer andar ni el instalador, jeje.
Para hacer andar Debian en Android, me basé en el contenido de dos foros que hablaban sobre el tema, más algunas modificaciones de las que me di cuenta solo. Al final agrego los links a esos foros para quienes quieran profundizar o ver la info original. El verdadero mérito va para los autores de esos posts, ya que lo que yo hice fueron pequeñas modificaciones sobre su trabajo.
Finalmente, asumo que quien quiere correr Debian en su celular es porque conoce un mínimo de Linux. No me voy a detener a explicar cómo editar un archivo de texto por línea de comando, ni cosas por el estilo, jeje.
Qué tal anda?
La verdad que anda mucho mejor de lo que yo esperaba. Recordemos que se trata de un celular, un aparato con recursos muy limitados. Pero con esos recursos se puede llegar incluso a levantar una interfaz gráfica.
Sin interfaz gráfica es un pájaro: vuela. Con la interfaz gráfica es un reptil: se arrastra, jeje.
Además, al levantar la interfaz gráfica puede suceder que el equipo se quede sin memoria RAM y empiece a cerrar aplicaciones para liberar memoria. Y al cerrar aplicaciones, puede cerrarnos el Debian que está corriendo de fondo, lo que resulta muy molesto.
Yo particularmente lo uso por linea de comandos, sin nada de interfaz gráfica, así que no tengo problemas.
Me puede romper el celular?
En los posts originales aclaran que lo que se hace no afecta al sistema operativo del celular (Android), por lo que no debería haber riesgos. Igual no me hago responsable por lo que a cada uno pueda pasarle en su celular por seguir los pasos que aquí detallo.
Tutorial
A) Instalar Debian
- Bajar los archivos necesarios desde este link: debian_aosp21_fisadev.zip
- Conectar el celular a la PC en modo de almacenamiento, o sacarle la SD y conectarla a la PC con un adaptador o lector de tarjetas.
- Crear en la memoria SD una carpeta con nombre "debian", y descomprimir dentro los archivos que contiene el zip.
- Volver a colocar la SD en el celular, o desconectarlo de la PC.
- Por seguridad, reiniciar el celular, ya que en algunas ocasiones el sistema de archivos queda como de solo lectura.
- Desde un emulador de consola/terminal en el celular, ejecutar:
su
cd /sdcard/debian
sh installer.sh
B) Iniciar Debian y configurar las cosas básicas
Con lo hecho antes Debian ya está instalado, pero necesitamos levantarlo y hacer algunas configuraciones iniciales.
- Desde un emulador de consola/terminal en el celular, ejecutar:
su
cd /sdcard/debian
sh bootdeb
- Esto va a iniciar Debian. Cuando haya terminado de iniciar (les deja el prompt para empezar a escribir), ejecutar:
sh /scripts/onetime.sh
Esto nos va a pedir configurar una contraseña para el usuario root. Háganlo, es necesario.
- Agregamos algunos repositorios básicos. Editamos el archivo /etc/apt/sources.list agregándole al final:
- Agregamos la configuración básica para que pueda utilizar la conexión de internet wifi del celular. Editamos el archivo /etc/network/interfaces y le agregamos al final:
deb http://ftp.debian.org/debian lenny main contrib non-free
deb-src http://ftp.debian.org/debian lenny main contrib non-free
auto tiwlan0
iface tiwlan0 inet dhcp
Después de hacer esto, tenemos que salir de Debian ejecutando:
exit
Ahora, cada vez que queramos levantar Debian, ejecutamos:
su
cd /sdcard/debian
sh bootdeb
Y siempre hay que salir usando "exit" (y no cerrando la aplicación así nomás)
Con esto ya es suficiente para tener un Debian desde línea de comandos. Los tutoriales que siguen son completamente opcionales.
C) Aumentar el tamaño del sistema de archivos
El Debian que tenemos instalado corre sobre un sistema de archivos contenido en un archivo de imagen, el debian.img. Esa imagen puede resultar un poco chica si vamos a instalar un entorno gráfico, o muchas aplicaciones. Así que si necesitamos hacerla más grande, estos son los pasos:
- Prestar atención a dónde se debe ejecutar cada comando, si en el celular o en la PC!.
- Conectar el celular a la PC en modo de almacenamiento, o sacarle la SD y conectarla a la PC con un adaptador o lector de tarjetas.
- Copiar el archivo debian.img de la SD a una carpeta en la PC, que a partir de ahora llamaremos PATH_PC
- Desde la consola/terminal de la pc, ejecutar esto reemplazando TAMAÑO por el tamaño que queramos. Ejemplo: para 3.5 GB poner 3500999999:
cd PATH_PC
dd if=/dev/zero of=debian2.img seek=TAMAÑO bs=1 count=1
mke2fs -F debian2.img
mkdir debian
mkdir debian2
mount -o loop debian.img debian
mount -o loop debian2.img debian2
cd PATH_PC/debian
cp -R -f * PATH_PC/debian2
umount debian
umount debian2
(si no funciona reinicar la pc y volver a intentar)cd PATH_PC
rm -r -f debian
rm -r -f debian2
rm debian.img
mv debian2.img debian.img
chmod a+x debian.img
chmod 777 debian.img
- Copiar el archivo debian.img de la PC a la carpeta debian de la SD.
- Volver a colocar la SD en el celular, o desconectarlo de la PC.
- Por seguridad, reiniciar el celular, ya que en algunas ocasiones el sistema de archivos queda como de solo lectura.
- Desde un emulador de consola/terminal en el celular, ejecutar:
su
cd /sdcard/debian
sh bootdeb
(eso nos inicia Debian, ya deberían saberlo, jeje)cd /var/lib/dpkg/updates
rm -r -f *
dpkg --configure -a
Después de hacer esto, tenemos ya un Debian con mucho más tamaño para jugar :D
D) Instalar un entorno gráfico
Para asombrar a nuestros linuxeros amigos, podemos instalar un entorno gráfico completo y jugar con nuestro Android como si fuese una PC de escritorio. Se arrastra de lento, y a veces se cierra solo por falta de memoria, pero anda al menos por los segundos necesarios para causar el efecto "waaaaah!" :)
Recordemos que si queremos instalar un entorno gráfico, deberíamos aumentar el tamaño del sistema de archivos.
Como los pasos no cambiaron del tutorial original, les dejo directamente el link a ese tutorial (si en algún momento desaparece, tengo una copia local, pidanme y la subo):
Instalar entorno gráfico.
(Está en inglés, si alguien necesita traducción, pida nomás)
E) Links originales