Ver Mensaje Individual
  #2  
Viejo 10/03/16, 12:37:59
Array

[xs_avatar]
Pietre.linux Pietre.linux no está en línea
Usuario poco activo
 
Fecha de registro: oct 2015
Localización: Madrid
Mensajes: 20
Modelo de smartphone: Nokia N900 With debian
Tu operador: Movistar
Linux en Allwinner Parte 1 adb y nanda

Lo primero que hay que hacer para instalar ejecutar Linux en una tablet allwinner como la PC97
es sacar el script.bin , este archivo le dice al kernel que, como y por que tiene que cargar
este archivo se encuentra ubicado en la primera partición de la nand, la nand esta dividida en varias particiones

nanda
nandb
nandc

etc, lo que nos interesa es sacar la partición nanda para extraer el script.bin , y para esto hay que tener adb instalado:
sudo apt-get install android-tools-adb android-tools-fastboot

una vez que se instala y conectas la tablet con la depuración usb activada y ejecutas:

$ adb devices

es posible( casi seguro ) que te diga:

List of devices attached

??????????????? device

Eso es que android no tiene ni idea de quien o que es nuestra tablet,para ello hay que saber el ID vendor de la tablet

Ejecutas:

$ lsusb

el resultado sería algo como esto:

Bus 001 Device 005: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business
Bus 001 Device 003: ID 05e3:0605 Genesys Logic, Inc. USB 2.0 Hub
Bus 001 Device 008: ID 18d1:0003 Google Inc.

Bus 001 Device 008: ID 18d1:0003 Google Inc. es la tablet, 18d1 el ID vendor

Con este dato se lo decimos a adb

$ echo "0x18d1" > ~/.android/adb_usb.ini

0x18d1 es el ID vendor en mi caso, hay que añadir 0x mas el id que hemos sacado anteriormente

después vamos a crear un archivo para adb se entere bien de que tablet es:

$ sudo gedit 51-android.rules

se nos abre gedit y metemos la siguiente información:

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"


Daos cuenta del ID vendor de antes 18d1, guardamos y copiamos el archivo a /etc/udev/rules.d/

$ sudo cp 51-android.rules /etc/udev/rules.d/

Reseteamos adb:

$ adb kill-server

Ahora deberíamos poder reconocer a la tablet por ADB:

$ adb devices

List of devices attached

20080411413fc082 device

Si no funciona reiniciar el PC

El siguiente paso es sacar nanda de android, para ello necesitamos ser root, pero al menos no necesitamos instalar guarrerias para ello

$ adb shell
$ rm -rf /data/local/tmp
$ ln -s /data /data/local/tmp

Reinicia la tablet y ejecuta:

$ adb shell
$ echo "ro.kernel.qemu=1" > /data/local/tmp/local.prop

Al reiniciar el dispositivo de nuevo, la shell ADB ya debería estar funcionando como root!

$ adb shell
root@android:/ #

NANDA

la mejor forma de extraer nanda de la tablet es así:

$ adb shell
$ cat /dev/block/nanda > /sdcard/nanda.img
$ exit

esto nos copiará una imagen de la primera partición de la tablet en la memoria interna de la tablet, ahora podemos copiarla conectando el dispositivo como MTP o podemos hacerlo por el mismo ADB

adb pull /sdcard/nanda.img /home/x/Documentos

Ya sabéis /home/usuario/donde_quieras

ahora tenemos nanda.img que podemos montarlo con pulsar el botón derecho sobre el archivo y montandolo o por terminal claro

$ sudo mount nanda.img /tmp
$ ls /tmp

y nos aparecerán los archivos que contiene la partición:

boot.axf
drv_de.drv
font32.sft
magic.bin
script0.bin
sprite
vendor
boot.ini
font24.sft
linux
os_show
script.bin
sprite.axf


El archivo script.bin contiene la información necesaria para iniciar Linux copiarlo a una carpeta segura:

En el siguiente capitulo: Compilando el kernel de Sunxi
__________________
YO SOY LINUX, Y SOY TU DIOS
Responder Con Cita