lunes, 22 de febrero de 2010

Debian en G1 con Android 2.1

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



  1. Bajar los archivos necesarios desde este link: debian_aosp21_fisadev.zip

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

  3. Crear en la memoria SD una carpeta con nombre "debian", y descomprimir dentro los archivos que contiene el zip.

  4. Volver a colocar la SD en el celular, o desconectarlo de la PC.

  5. Por seguridad, reiniciar el celular, ya que en algunas ocasiones el sistema de archivos queda como de solo lectura.

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



  1. Desde un emulador de consola/terminal en el celular, ejecutar:
    su
    cd /sdcard/debian
    sh bootdeb


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

  3. Agregamos algunos repositorios básicos. Editamos el archivo /etc/apt/sources.list agregándole al final:

  4. deb http://ftp.debian.org/debian lenny main contrib non-free
    deb-src http://ftp.debian.org/debian lenny main contrib non-free

  5. 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:

  6. 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:



  1. Prestar atención a dónde se debe ejecutar cada comando, si en el celular o en la PC!.

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

  3. Copiar el archivo debian.img de la SD a una carpeta en la PC, que a partir de ahora llamaremos PATH_PC

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


  5. Copiar el archivo debian.img de la PC a la carpeta debian de la SD.

  6. Volver a colocar la SD en el celular, o desconectarlo de la PC.

  7. Por seguridad, reiniciar el celular, ya que en algunas ocasiones el sistema de archivos queda como de solo lectura.

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


viernes, 19 de febrero de 2010

Windows PowerShell

Alguien vió lo que es PowerShell? Es una uber-copia de la consola de Linux, pero para Windows y hecha por Microsoft. Y no digo que es copia porque los veo parecidos o porque sea fan de Linux. Lo digo porque pusieron hasta los mismos comandos! "ls", "ps", "diff", "more", "man", "cp", "mv"...


Al menos no me siento tan "fuera de casa" en la maquina del trabajo, jeje...

martes, 16 de febrero de 2010

Hackers vs. Crackers

En un post de Buzz recomendé un libro para "hackers", e inmediatamente (ni 5 minutos) alguien por chat me preguntó por qué lo recomendaba a "piratas". Me hizo acordar que la mayoría tiene una idea bastante errada de lo que significa la palabra "hacker", así que posteo esta lectura obligatoria para cualquiera que quiera usar esa palabra:


(extracto de un escrito de Eric Raymond. El tipo no me cae bien, pero acá tiene razón)


Existe una comunidad, una cultura compartida, de programadores expertos y magos de las redes, cuya historia se remonta décadas atrás a los tiempos de los primeros miniordenadores de tiempo compartido y los tempranos experimentos con ARPAnet. Los miembros de esta cultura crearon el término "hacker". Los hackers construyeron Internet. Los hackers hicieron de Unix el sistema operativo que es hoy día. Los hackers hacen andar Usenet. Los hackers hacen funcionar la WWW. Si eres parte de esta cultura, si has contribuido a ella y otras personas saben quién eres y te llaman hacker, entonces eres un hacker.


(...)


Existe otro grupo de personas que se llaman a sí mismos hackers, pero que no lo son. Son personas (generalmente varones adolescentes) que se divierten irrumpiendo ilegalmente en ordenadores y haciendo "phreaking" en el sistema teléfonico. Los auténticos hackers tienen un nombre para esas personas: "crackers", y no quieren saber nada de ellos. Los auténticos hackers opinan que la mayoría de los crackers son perezosos, irresponsables y no muy brillantes, y fundamentan su crítica en que ser capaz de romper la seguridad no le hace a uno un hacker, de la misma manera que ser capaz de arrancar un coche con un puente en la llave no le convierte en ingeniero de automotores. Desafortunadamente, muchos periodistas y escritores utilizan erróneamente la palabra "hacker" para describir a los crackers; esto causa enorme irritación a los auténticos hackers.


La diferencia básica es esta: los hackers construyen cosas; los crackers las destruyen.


Para el que le interese, este es el texto completo.

viernes, 12 de febrero de 2010

Google Buzz

Qué me gusta y qué no me gusta de Google Buzz:



  • Una buena excusa para no usar Facebook, así la gente deja de insistirme en que me una al "libro de caras".

  • Lindo reemplazo para Twitter, me es más cómodo tenerlo integrado en el correo que tener que loguearme en otro sitio nuevo.

  • Mucha gente que conozco lo puede ver, no como me sucedía con Twitter (no es tan usado por estos lados).

  • Se integra bien con otras cosas que uso, como Blogspot, Google Reader y Picasa Web. De hecho este post es de mi blog, y aparece solo tambien en Buzz :D.

  • Cómodo, simple, no sobrecargado. Bien a la "google way"

  • Se puede desactivar, aunque muchos no se den cuenta. Vean abajo de todo de Gmail.

  • Se metió un poco a la fuerza, no daba muchas opciones para no probarlo, y el link para desactivarlo es casi invisible.

  • Todas las cosas son públicas por defecto: posts, listas de seguidores, etc. A mi no me afecta, pero a mucha gente sí, y por ello no debería ser de esa forma.

  • Me llegan los Buzz a la casilla de correo, odio eso. Por cada Buzz nuevo en una conversación que haya participado, me aparece un no leído en dos lugares diferentes: Buzz y Recibidos, y tengo que sí o sí archivarlo o eliminarlo desde Recibidos (si lo leo desde Buzz, el mail no leído sigue estando). Eso es MUY molesto.

  • No es tan visualmente fácil darse cuenta de los Buzz no leídos.