View previous topic :: View next topic |
Author |
Message |
Stolz Moderator
Joined: 19 Oct 2003 Posts: 3028 Location: Hong Kong
|
Posted: Tue Jun 04, 2013 5:03 pm Post subject: [Off-topic] Gentoo en tablet con kernel Android |
|
|
Llevo un par de días probando con éxito Gentoo instalado en mi tablet Android mediante chroot, es decir, el tablet inicia Android y luego conecto por SSH y mediante un par de comandos entro en un chroot Gentoo.
El caso es que la pantalla táctil del tablet falla frecuentemente y es desesperante por lo que me gustaría jubilarlo, reemplazando Android con Gentoo. El problema es que no tengo el código fuente del kernel original del fabricante por lo que, suponiendo que consiga compilar un kernel y arrancar el tablet con él, dudo mucho que haga funcionar cosas como el wifi, gps, bluetooth, etc...
Por tanto me gustaría usar el kernel de android para iniciar mi Gentoo sin cargar ninguno de los programas de Android. Como a penas tengo idea de cómo funciona Android por dentro lo primero que me gustaría saber si es remotamente posible hacer lo que quiero.
En caso de ser posible ¿qué aproximaciones debería intentar?
AQUÍ se puede ver un diagrama del proceso de inicio de Android.
Mi idea inicial era directamente copiar el kernel de android y sus módulo a mi Gentoo pero no tengo ni idea de cómo reconfigurar el bootloader.
La otra forma que se me ocurre es reemplazar el proceso "init" de android por uno que arranque mi Gentoo (en vez de Zygote, Dalvik VM,...), pero de nuevo, ando perdido.
Como dato, tengo la posibilidad de instalar Android Gingerbread 2.3 o IceCreamSandwich 4.0.4 por si en alguno de los dos fuese más fácil de modificar.
¿es viable lo que quiero o mejor me olvido? |
|
Back to top |
|
|
esteban_conde Veteran
Joined: 04 Jun 2003 Posts: 1670
|
Posted: Wed Jun 05, 2013 8:52 am Post subject: |
|
|
Tengo que mirar esto que has probado, a lo mas que he llegado es a entrar por vnc a una debian preparada a la cual no aporté nada, e todas formas aunque entres por ssh seguirias usando el kernel de android en gentoo, de todas formas en el chroot verás si gentoo tiene activo algun kernel, supongo que funcionara uname -r o cosas de ese estilo, lo siguiente que se me ocurre es especulación pura si gentoo corre bien con un kernel android por ssh deberia poder hacerlo de la forma que tu quieres pero a todo el codigo java de android que hace que funcione casi todo tendrias que ponerlo a trabajar bajo gentoo o sustituirlo por algo (no se me ocurre qué) que haga ese trabajo.
El caso stolz es que vas a tener que currar un montón pero quien sabe a lo que puedes llegar y además siempre merecerá la pena intentarlo. _________________ Saludos a tod@s, Esteban. |
|
Back to top |
|
|
opotonil l33t
Joined: 17 Jun 2005 Posts: 801 Location: 127.0.0.1
|
|
Back to top |
|
|
Stolz Moderator
Joined: 19 Oct 2003 Posts: 3028 Location: Hong Kong
|
Posted: Wed Jun 05, 2013 9:53 am Post subject: |
|
|
Muchas gracias por las respuestas.
Me he mirado los enlaces y aunque los tutoriales en sí no despejan directamente mi duda, los comentarios sí me han dado buenas pistas. Los tutoriales explican cómo ejecutar tu propio kernel, cosa que no quiero porque va a ser costoso de configurar y no me garantiza soporte de todo el hardware. Lo que yo busco es ir por la via fácil y usar el kernel ya existente de mi Android, bien controlando el proceso desde el principio (copiando el kernel a mi Gentoo y arrancando desde él), bien "secuestrando" el arranque normal de Android para que una vez cargado el kernel y /dev seguir el proceso de arranque normal de mi Gentoo.
Sobre las pistas que me han dado: La primera es que con el comando fastboot puedes arrancar un kernel especificnado el "init", lo cual me puede servir aunque necesitaría un ordenador externo para poder arrancar Gentoo en el tablet.
Code: | fastboot -c 'root=/dev/dispositivo/de/tu/sdcard rw rootfs=ext2 init=/sbin/init rootwait noinitrd' boot zImage |
Lo que no se es si el fastboot es algo estándard de todos los Android o solo funciona en el Nexus One.
La otra pista es este enlace que me puede servir para alternar el proceso de arranque. De momento sigo leyendo a ver qué saco. |
|
Back to top |
|
|
opotonil l33t
Joined: 17 Jun 2005 Posts: 801 Location: 127.0.0.1
|
|
Back to top |
|
|
Stolz Moderator
Joined: 19 Oct 2003 Posts: 3028 Location: Hong Kong
|
Posted: Wed Jun 05, 2013 10:11 am Post subject: |
|
|
Mi tablet es un Lenovo A1 pero insisto, no estoy interesado en absoluto en conseguir un kernel o compilar uno yo mismo. Ya tengo uno que es relativamente reciente (3.x), que soporta todo mi hardware y que funciona bien. Me refiero obviamente al kernel que viene de serie en mi tablet. |
|
Back to top |
|
|
opotonil l33t
Joined: 17 Jun 2005 Posts: 801 Location: 127.0.0.1
|
Posted: Wed Jun 05, 2013 12:32 pm Post subject: |
|
|
En estos otros foros: http://www.slatedroid.com/topic/30524-running-a-linux-distribution-on-zenithink-zt280/
Parece que hacen lo que pretendes con una tablet Zenithink ZT280, parten de un kernel binario, que arranca con Uboot, al que le extraen el initrd para luego crear otro que ejecute /sbin/init y lo reensamblan otra vez. Pero bueno échale un ojo tu a ver si te parece útil, porque la verdad que yo me pierdo un poco.
Parece algo similar a lo que comentan en el enlace de antes para alternar el proceso de arranque.
Salu2. _________________ Localnet
Films Localnet |
|
Back to top |
|
|
gringo Advocate
Joined: 27 Apr 2003 Posts: 3793
|
Posted: Wed Jun 05, 2013 1:59 pm Post subject: |
|
|
no puedes usar un kernel "hecho para android" para cargar gentoo que yo sepa, porque es simplemente un kernel linux para lanzar un máquina java.
Creo que un kernel android no sabe ni lo que es posix y creo que tampoco sabe lo que es un init clásico ni soporta la mitad de las virguerías que necesitas hoy en día para un kernel para una distro.
Lo del init es fácil porque lo puedes escribir tu pero vamos, creo que está jodido el tema aunque si lo consigues estaría mas que encantado en verlo
Podrías mirar como lo han hecho los de ubuntu para el galaxy nexus, igual sacas algo en limpio de ahi.
Si consigues que un kernel linux "clásico" cargue el siguiente problema es el soporte hardware ya que casi todo son binarios en el mundo android.
Quote: | Lo que no se es si el fastboot es algo estándard de todos los Android o solo funciona en el Nexus One. |
que yo sepa si, tanto adb como fastboot son comunes a todos los android.
Lo que si creo que pasa es que algunos fabricantes (HTC p.ej. ) "capan" fastboot para que no pueda cargar cualquier cosa.
saluetes |
|
Back to top |
|
|
Stolz Moderator
Joined: 19 Oct 2003 Posts: 3028 Location: Hong Kong
|
Posted: Wed Jun 05, 2013 9:53 pm Post subject: |
|
|
Bueno, pues tras consultarlo en el IRC me han comentado algo parecido a lo que dice gringo. Por lo que parece en versiones recientes de kernels normales (no Andorid) no hay problema es cargar el /init de Android, en cambio nadie me ha podido confirmar lo contrario, es decir cargar el /sbin/init normal de Gentoo desde un kernel Android. Tampoco me lo han podido desmentir, tan solo me han dicho que "no les suena que se pueda".
Así es que ahora me estoy centrando en mi otra opción; "secuestrar" el init.rc de Android. De momento ya he conseguido encontrar y descomprimir el init.rc. Ahora me toca investigar cómo convertirlo en una imagen u-boot y flashearlo en el tablet para sustituir el original. En principio solo voy a intentar lanzar el chroot sin alterar la ejecución normal de Android y si lo consigo intentaré matar todos los procesos Android que no sean el PID=1 antes de lanzar mi chroot
Si hay progresos lo comentaré por aquí. |
|
Back to top |
|
|
edgar_uriel84 Guru
Joined: 21 Dec 2008 Posts: 485 Location: Tultitlan, México
|
Posted: Wed Jun 05, 2013 11:23 pm Post subject: |
|
|
Bueno, hasta hace poco tenía un atrix, que podía lanzar gentoo desde un kernel android, usando todos los recursos de un android pero si había un truculento chroot. Hasta donde tengo entendido si usas un kernel android para gentoo, no podrás arrancarlo mucho menos si es oficial, necesitas construir tu kernel, lo se también por la expericencia del atrix, dejo un enlace para que veas ese gentoo que use http://forum.xda-developers.com/showthread.php?t=1180800
Creo que lo mejor que puedes hacer es empezar a compilar un kernel que arranque un gentoo nativo, te llevara tiempo y seguro necesitaras testers pero es un buen proyecto, seguro encuentras apoyo. _________________ Algún día habrá una persona mejor que yo, pero esa persona no eres tú ni ese momento es ahora. |
|
Back to top |
|
|
Stolz Moderator
Joined: 19 Oct 2003 Posts: 3028 Location: Hong Kong
|
|
Back to top |
|
|
|