Vous êtes sur la page 1sur 4

08/06/12

Corriendo GNU/Linux Debian en Android TheCoffeMaker

You have to open your mind. Trust your Technolust

TheCoffeMaker
Home Ask To TheCoffeMaker Foro Its me! TheCoffeMaker
Virtualizando con OpenVZ Festival Latinoamericano de Instalacin de Software Libre 2012 Sede CABA

CATEGORAS
Ask to TheCoffeMaker General GNU/Linux Hagalo Ud. Mismo Java Juegos Libre expresin Noticias OpenSource Programacin SCI-FI VS REALIDAD Seguridad Tecnologia Visto por ah

Corriendo GNU/Linux Debian en Android


No soy de los que creen que las tablets o celulares van a reemplazar a la computadoras, tampoco soy de los que creen que todo debera migrarse a la internerd, o como se dice en la jerga marketinera de sistemas, la nuve.

GITHUB PROJECTS NO AL CANON EN ARGENTINA

FOLLOW ME ON GOOGLE+
Couldn't get data from google+

GOOGLE FRIEND CONNECT


Entiendo que hay cosas que son muy comodas tenerlas sincronizadas, pero la realidad es que, no me siento muy comodo fiandoles mis datos a terceros de hecho quedo demostrado con el cierre de MegaUpload muchos perdieron sus datos pensando que el servicio iba a ser eterno y bu, son esas cosas que el mundo moderno tiende a pensar y lo que nos hace creer Google en fin no es algo que debera discutirse en este post, hoy vamos a ver como instalar un Debian en el Motorola Milestone 3 o XT860.

Que necesidad intento cubrir?


Bien, si bien tengo notebook, cosa que el problema de llevar poder computacional a todos lados esta resuelto, muchas veces resulta poco comodo andar cargando algo en la espalda o bajo los brazos. De hecho, salvo que sea de absoluta necesidad, no suelo salir con una maquina a cuestas, sin embargo, muchas veces me encuentro en situaciones donde debera poder al menos usar un GNU/Linux completo, ya sea para mostrar algun turco de linea de comando, para mostrar las bondades del Software Libre o para hacer algo cualquier cosa siempre, por H o por B, termino necesitando conectarme a una consola Ojo! No solamente por esto, obviamente, muchas veces queremos trabajar una idea que se nos acaba de caer mientras hacemos la cola para el cine, en la facu o por que no, mientras estan en el gimnasio (jajajaja vade reto satanas!). De esta forma podemos tener un cliente Git, poder editar archivos de estndares abiertos y unas cuantas maravillas mas, practivamente no hay limites. En fin, volviendo al objetivo, de esta forma podemos hacer que nuestro celular, deje de ser un simple celular con esteroides y aires de secretaria sexy y pase a ser la herramienta multiuso del cyberpunk moderno, dejndonos activar la productividad en esos micro espacios de tiempo muerto, donde uno podra tranquilamente desarrollar una idea, escribir un documento, etc.

SEGUIME EN TWITTER

FACEBOOK
Me gusta A 22 les gusta una pgina. Regstrate para ver qu les gusta a tus

La simple solucin: debootstrap y chroot


Si hay una dupla de comandos que nos salvan la vida y son obligatorios conocerlos o al menos alguna ves haber jugado con ellos, son debootstrap y chroot. debootstrap es una herramienta para hacer bootstraps de sistemas Debian, basicamente puede ser usado par instalar un Debian en algun lugar sin la necesidad de contar con un disco de instalacion y ademas nos deja correr una distribucion de Debian en un ambiente chroot maravilloso no? bien pero vamos a clarificar un poco mas las cosas por que hay muchos conceptos que son necesarios saber.

Cosas interesantes
Alternative Literature Skype Publishes New Linux APIs w/ Video Support DRM Needs To Be Banned Because Its Toxic Building a multidimensional display from trash Lenovo ThinkPad Tablet review

Que es bootstrap?

Existen tres usos para este termino, en principio se lo utilizo para definir al proceso de inicio de una maquina que se ejecuta luego del POST del BIOS, es decir, por ejemplo, GRUB es un programa de bootstrapping. En el

www.thecoffemaker.com.ar/2012/04/04/corriendo-gnulinux-debian-en-android/#more-1204

1/4

08/06/12

Corriendo GNU/Linux Debian en Android TheCoffeMaker


"Quiero ya Think Pad Tablet!!! que buena que esta!" Ver todos

contexto del desarrollo de software, bootstrapping se refiere al proceso en el cual se desarrolla un entorno de programacion cada vez mas complejos a partir de otros mas simples. Por ultimo, y este es el termino que nos interesa, bootstrapping se usa como metodo para contruir un sistema completo a partir de componentes base, o bien, de versiones antiguas de componentes precompilados.

Que es chroot?

Toda la gloria al poderoso chroot! chroot es un programa que basicamente lo que hace es invocar a un proceso y cambiarle el directorio raiz del sistema a el proceso invocado y sus hijos. Si no tienen mucha cancha en lo que a procesos en Linux se refiere, no se hagan problema, tampoco les voy a quemar la cabeza con la definicion de la estructura de datos que define a un proceso en Linux. Lo importante aca es entender que al ejecutar por ejemplo: 1 c h r o o t/ o p t / c h r o o t e n v/ b i n / b a s h

PGINAS
Ask To TheCoffeMaker Foro Its me! TheCoffeMaker

BLOGROLL
Alphaser Buenos Aires de Madrugada CodigoUnix Lucianos Webpage Sysadmin Haiku

va a ejecutar el programa bash y el directorio raiz (/) dejara de ser el raiz de nuestra maquina y empezara a utilizar como raiz al directorio /opt/chrootenv. Despues lo veremos mas claro cuando estemos instalando Debian en nuestro celular. De todas formas ya he escrito otra de las cosas que podemos hacer con debootstrap y chroot, aunque no he mensionado que por ejemplo podemos usar chroot para arreglar el sector de booteo de una maquina reinstalando el grub, crear jaulas chroot para aislar servicios como FTP, SSH, etc en fin eso quedara para otro post, aunque Google esta plagado de soluciones para estos problemas.

ENLACES
Fundacin Via Libre Galeria de fotos de Damian Galeria de fotos de Naty GNUtn

Que necesitamos?
Por el lado de And roid :

Como dijo un sabio, hay que medir dos veces y cortar una, asi que vamos a listar todas las cosas que necesitamos antes de ponernos a instalar el Debian, mas que nada para ahorrarnos problemas futuros.

Un And roid R oote a d o Un emulador de terminal instalado Un cliente de VNC instalado si quieren usar las X BusyBox instalado Verificar que nuestro telefono soporta ext3 o ext2 (re comie nd o usa r e xt3 ) Una SD con al menos una particion Linux Por el lado la maquina: Un Debian o derivado gparted instalado

TAGS

debootstrap instalado

Android SDK instalado Configurado las reglas de udev para que detecten el celular Una ves verificado que cumplimos todos los requisitos, podemos ponernos a laburar un poco NOT A: P a ra roote a r e l Mile stone 3 , utilic e l ze rgR ush a utoma te d Linux root, ma s a d e la nte p re te nd o utiliza r Cya noge nMod (CM) como re e mp la zo a And roid , p e ro ha sta q ue no e ste comp le ta me nte sop orta d o p or CM tod o e l ha rd wa re d e l ce lula r no me a nimo a utiliza rlo. Asi q ue p or a hora roote a re mos e l op e ra tivo origina l d e l ce lula r. R e come nd a cione s: T e nga n e n cue nta q ue ne ce sita ra n b a sta nte e sp a cio e n la SD, como mis ne ce sid a d e s no son mucha s, utilice una p a rticion d e 2 G b , con lo cua l, le s re comie nd o limp ia r la ca che d e a p t y tra ta r d e ma nte ne r e l siste ma lo ma s limp io p osib le . Cla ro q ue con una SD ma s gra nd e , e ste tip o d e p rob le ma s se soluciona a utoma gica me nte (NOTA MENTAL: Conseguir una SD de 32Gb). Bien, sacamos la SD del celular y la metemos en la computadora, And roid no a utomonta la s p a rticione s d e Linux , aunque si bien es un Linux, no esta programado para hacer eso, asi que solo levanta automaticamente las particiones FAT32 (no formatie ningun FAT16, por lo que supongo que tambien debe de automantar FAT16), abrimos el gparted y seleccionamos nuestro dispositivo, borramos la particion FAT32 que existe y creamos una ext3, si quieren pueden dejar espacio para crear otra particion FAT32 asi el celular puede usar tambien la SD como almacenamiento, ya que la ext3, hasta luego de ser montada, sera completamente ignorada. En mi caso, ya que estuve haciendo varias pruebas de rendimiento, recomiendo usar etx3, basicamente por que es un poco mas rapida que ext2 y ademas soporta journaling, algo que con ext2 no se puede hacer y es un dolor de cabeza por que los inodos se carajean en cada reinicio del celular. Una ves creada y montada la particion, comenzamos a hacer el debootstrap, ojo en esta parte, como los dispositivos de almacenamiento externo son montados sin permisos de ejecucion y de devfs, no podremos crear el ambiente bootstrap directamente en la SD, salvo que hagamos lo que mencione en este post. De todas formas no es necesario hacerlo para este caso, ya que haciendo el debootstrap en un directorio de nuestro sistema de archivos local y luego copiandolo a la SD estamos cubiertos. Parados dentro de un directorio temporal ejecutamos la siguiente secuencia de comandos: 1 2 3 4 5 s u d od e b o o t s t r a pa r c h = a r m e lv e r b o s ef o r e i g nw h e e z y. / d e b i a n _ d b t c d. / d e b i a n _ d b t s u d oc pr. / */ m e d i a / d e b i a n _ m m 3 s y n c s u d ou m o u n t/ m e d i a / d e b i a n _ m m 3

android Apt-Get Ask to TheCoffeMaker Canon Comics debootstrap Desarrollo DIY DynamixSoft Espacio Expresion Libre FLISOL GNU hack Hardware Historia HP Infografias Informacion Java Musica MySQL Nasa Netbeans Noticias Opinin Oracle Palm Seguridad SFD Shell Tips Software Libre Sun Tecnologia Twitter

Debian Funny

OpenSource
Videos

Linux

Virtualizacion

VirtualBox

Wifi WordPress WTF!

SUSCRIPCIN VIA EMAIL


Ingresa tu mail para recibir las actualizaciones de este sitio en tu email. Join 7 other subscribers Correo electrnico Suscribite

OPCIONES
Registrarse Acceder RSS de las entradas RSS de los comentarios WordPress.org

Veamos de que va todo esto que ejecutamos, el primer comando es el debootstrap, el cual generara el nuevo ambiente de Debian en el directorio ./debian_dbt, pero con un par de particularidades, normalmente nuestra maquina correra sobre una arquitectura i386 o amd64, pero el celular no corre sobre ninguna de esas

www.thecoffemaker.com.ar/2012/04/04/corriendo-gnulinux-debian-en-android/#more-1204

2/4

08/06/12

Corriendo GNU/Linux Debian en Android TheCoffeMaker

arquitecturas, sino que es un procesador de arquitectura ARM, con lo que le decimos a debootstrap que nos genere un ambiente con arquitectura a rme l (armel es la nomenclatura de arquitectura para los nuevos chips ARM, existe una arquitectura en Debian ademas que se llama arm, pero ya no deberia utilizarse). La cuestion aca, es que no podemos configurar completamente nuestro Debian ARM utilizando nuestra maquina, ya que son arquitecturas diferentes y por lo tanto no correran los procesos de instalacion y configuracion, es por eso que se le pone foreing, lo cual separa el proceso de bootstrapping en dos niveles, el primero es generar una estructura base, la cual, instalando minimo necesario nos dejara correr el segundo nivel de debootstrap en nuestro celular (cabe destacar que esto sirve para cualquier dispositivo ARM que sea compatible con Linux) el cual terminara de instalar y configurar un Debian basico. Luego entramos dentro del directorio generado por debootstrap y verificamos que se haya creado una estructura de directorios de Unix (bin, sbin, etc, root, etc adicionalmente se crea un directorio debootstrap, despues deremos de que va eso) y copiamos todo el contenido del directorio y sus subdirectorios a la particion donde tendremos nuestro Debian y por ultimo, una ves que se completa el proceso de copiado, sincronizamos los dispositivos para que se vacien los buffers y desmontamos. Ya estamos listos para insertar nuevamente la SD en nuestro celular, si crearon una particion FAT32 veran que se monta automticamente, pero no asi la paricion donde tenemos nuestro Debian. Todo esto que haremos a continuacion, se puede hacer directamente desde el celular, pero por una cuestion de comodidad, prefiero utilizar el adb del android platform tools, sobre todo por que esto tardara MUCHO tiempo pero bueno como dice el infame dicho, el que quiere celeste que le cueste o peor aun el dicho inmortalizado por F. de la V, al que le gusta el durazno, que se aguante la peluza (WOP!) Abrimos una terminal en nuestro celular, usando adb ejecutamos 1 a d bs h e l l

una ves dentro, cambiamos a usuario root 1 s u-

montamos el disco y ejecutamos el chroot 1 2 b u s y b o xm o u n t/ d e v / b l o c k / m m c b l k 0 p 1/ d a t a / d e b i a n b u s y b o xc h r o o t/ d a t a / d e b i a n/ b i n / b a s h

Ok, ya estmos dentro del debootstrap basico, ya que no tiene ninguna variable de entorno definida, ni /proc, ni /sys, configuramos un poco el shell ejecutando: 1 2 3 4 5 6 7 e x p o r tP A T H = / b i n : / s b i n : / u s r / b i n : / u s r : s b i n : $ P A T H e x p o r tH O M E = / r o o t e x p o r tU S E R = r o o t e x p o r tT E R M = l i n u x e x p o r tD I S P L A Y = : 0 . 0 m o u n ttp r o cp r o c/ p r o c m o u n tts y s f ss y s f s/ s y s

Ahora podemos continuar con el segundo nivel del debootstrap, donde baja y configura todo el Debian basico, ejecutamos el siguiente comando y nos vamos a preparar el mate, por que se va a tomar su tiempo: 1 / d e b o o t s t r a p / d e b o o t s t r a ps e c o n d s t a g e asi que

Cuando termina y nos devuelte el control ya podemos empezar a utilizar nuestro Debian instalaremos el entorno grafico.

Como no podemos tener un display donde asociar el servidor X como en una computadora, utilizaremos el VNC por lo que ejecutaremos apt-get con las siguientes opciones 1 a p t g e ti n s t a l ll x d et h i g h t v n c s e r v e r

Bueno ahora si para este entonces se les debe de haber lavado el mate o enfriado el agua les recomiendo que dejen el celular cargando la bateria y aprovechen a salir y disfrutar del aire fresco y sin celular por que esto va a tardar como 5 horas si! una bocha ^_^ (Les recomiendo hacerlo a la noche a si se van a dormir y para cuando se despiertan tienen una pequear sorpresita). Ya estamos en la recta final levantamos el servidor VNC ejecutando: 1 v n c s e r v e rg e o m e t r y9 6 0 x 5 4 0

Nos pide una contrasea, la ingresamos y list . abrimos el cliente VNC de Android (yo uso el AndVNC) conectando a: IP 127.0.0.1 Puerto 5901 (puede que cambie, fijense con ps -fea | grep vnc, en que puerto esta escuchando) Usuario: root Password: laqueingresaron Y listo ya tenemos nuestro Debian con entorno grafico andando ahora, el unico limite que exite es el infinito y mas alla! Les dejo una imagen tomada desde el cliente VNC de mi maquina por que claro salvo que instalemos el DroidWall, que es una implementacin de iptables segn acusan todos los servicios van a ser visibles por la interface WiFi as que ojo!

www.thecoffemaker.com.ar/2012/04/04/corriendo-gnulinux-debian-en-android/#more-1204

3/4

08/06/12

Corriendo GNU/Linux Debian en Android TheCoffeMaker

[A me d id a q ue los va ya p rob a nd o, p or a hora no p ud e a utoma tiza r tod o e l p roce so d e a rra nq ue y cie rre d e l De b ia n, voy a ir sub ie nd o los scrip ts q ue va ya ha cie nd o p a ra simp lifica rme la vid a , va n a e sta r tod os e n e l p roye cto d e G itHUB T CM_Cod e ... a s q ue son lib re s d e ir forke a nd o e l p roye cto! ] Espero que lo disfruten. Saludos! Comp a rt!!! Correo electrnico Imprimir
7

Facebook
Share

Compartir

android, chroot, Debian, debootstrap, Milestone 3, Motorola, vnc, xt860


Esta entrada fue escrita el 04/04/2012, 11:30 y archivada en GNU/Linux, OpenSource, Tecnologia. Puedes seguir las respuestas en esta entrada a travs de RSS 2.0. Puede dejar una respuesta, o hacer trackback desde su propio sitio.

COMENTARIOS (0)
No hay Comentarios

RELATED POSTS

Nomb re (R e q ue rid o) E -Ma il (R e q ue rid o) (No ser publicado) We b site

Tipea las dos palabras.

Notify me of follow-up comme nts b y e ma il. Notify me of ne w p osts b y e ma il.

Enviar Comentario

Fusion theme by digitalnature | powered by WordPress Entradas (RSS) y Comentarios (RSS) ^

www.thecoffemaker.com.ar/2012/04/04/corriendo-gnulinux-debian-en-android/#more-1204

4/4