Diferencia entre revisiones de «Usuario:Juanda/android/fastboot»
De WikiEducator
(→Ejemplo de uso) |
|||
(22 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 6: | Línea 6: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | == ¿Qué es FastBoot? == | + | ==== ¿Qué es FastBoot? ==== |
− | + | *[[wikipedia:fastboot|fastboot]] es una pequeña herramienta que y puede ser usada para flashear particiones del dispositivo. | |
− | *[[wikipedia:fastboot|fastboot]] es una pequeña herramienta que | + | |
*Es un modo de recuperación alternativo al de recovery. | *Es un modo de recuperación alternativo al de recovery. | ||
*El modo FastBoot arranca antes de cargar el SO Android (arranca incluso si Android no está instalado). | *El modo FastBoot arranca antes de cargar el SO Android (arranca incluso si Android no está instalado). | ||
− | |||
*Es el modo preferido para instalar la imagen de recovery en muchos dispositivos. | *Es el modo preferido para instalar la imagen de recovery en muchos dispositivos. | ||
− | *Fastboot también se usa para desbloquear el bootloader de los | + | *Fastboot también se usa para desbloquear el bootloader de los dispositivos Google Nexus. |
− | *No todos los dispositivos soportan fastboot | + | </div> |
+ | <div class="slide"> | ||
+ | ====Instalación y ejecución de Fastboot==== | ||
+ | * Viene con el [http://developer.android.com/sdk/index.html Android SDK] | ||
+ | *No todos los dispositivos soportan fastboot, por ejemplo Heimdall(Linux) y Odin(Windows) para los terminales Samsung | ||
*El comando fastboot se debe ejecutar siempre con privilegios de root. | *El comando fastboot se debe ejecutar siempre con privilegios de root. | ||
*Los comandos de fastboot solo funcionan si el dispositivo está en modo fastboot. | *Los comandos de fastboot solo funcionan si el dispositivo está en modo fastboot. | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | *Arrancar el dispositivo en modo fastboot: | ||
+ | <source lang="bash"> | ||
+ | juanda@juanda-PC:~$ adb devices | ||
+ | List of devices attached | ||
+ | 01a927828f90ccde device | ||
+ | juanda@juanda-PC:~$ adb reboot bootloader | ||
+ | juanda@juanda-PC:~$ fastboot devices | ||
+ | no permissions fastboot | ||
+ | juanda@juanda-PC:~$ sudo fastboot devices | ||
+ | .... | ||
+ | </source> | ||
+ | *Otra opción sería apagar el teléfono y encenderlo pulsando una combinación de teclas. | ||
+ | </div> | ||
+ | <div class="slide"> | ||
− | ==Opciones del comando fastboot== | + | ====Opciones del comando fastboot==== |
<source lang="bash"> | <source lang="bash"> | ||
juanda@juanda-PC:~$ fastboot | juanda@juanda-PC:~$ fastboot | ||
Línea 37: | Línea 55: | ||
reboot-bootloader reboot device into bootloader | reboot-bootloader reboot device into bootloader | ||
help show this help message | help show this help message | ||
− | |||
options: | options: | ||
-w erase userdata and cache (and format if supported by partition type) | -w erase userdata and cache (and format if supported by partition type) | ||
Línea 45: | Línea 62: | ||
-p <product> specify product name | -p <product> specify product name | ||
-c <cmdline> override kernel commandline | -c <cmdline> override kernel commandline | ||
− | -i <vendor id> specify a custom USB vendor id | + | -i <vendor id> specify a custom USB vendor id====Comando fastboot oem unlock==== |
+ | [[Archivo:unlockbootloader.png|400px]] | ||
+ | *Éste comando desbloquea el bootloader enterminales Nexus (o HTC mediante su herramienta oficial). | ||
+ | *Si tenemos un teléfono de un fabricante distinto, tendremos un método distinto en cada caso (Odín para Samsung, por ejemplo). | ||
+ | *Se incluye aquí porque, aún sin necesitarlo, es una parte importante del sistema de código abierto de Android. | ||
+ | *A Google le da lo mismo lo que hagamos con nuestros dispositivos, y nos provee de esta herramienta para desbloquear el teléfono. Esto es algo que en otras compañías no se ve, y es una de las razones por las que muchos eligen Android. | ||
+ | </div> | ||
-b <base_addr> specify a custom kernel base address | -b <base_addr> specify a custom kernel base address | ||
-n <page size> specify the nand page size. default: 2048 | -n <page size> specify the nand page size. default: 2048 | ||
-S <size>[K|M|G] automatically sparse files greater than size. 0 to disable | -S <size>[K|M|G] automatically sparse files greater than size. 0 to disable | ||
− | |||
</source> | </source> | ||
− | + | </div> | |
− | [ | + | <div class="slide"> |
+ | ====Comando fastboot oem unlock==== | ||
+ | [[Archivo:unlockbootloader.png|400px]] | ||
+ | *Éste comando desbloquea el bootloader enterminales Nexus (o HTC mediante su herramienta oficial). | ||
+ | *Si tenemos un teléfono de un fabricante distinto, tendremos un método distinto en cada caso (Odín para Samsung, por ejemplo). | ||
+ | *Se incluye aquí porque, aún sin necesitarlo, es una parte importante del sistema de código abierto de Android. | ||
+ | *A Google le da lo mismo lo que hagamos con nuestros dispositivos, y nos provee de esta herramienta para desbloquear el teléfono. Esto es algo que en otras compañías no se ve, y es una de las razones por las que muchos eligen Android. | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | *Comprobamos que el dispositivo esté disponible y desbloqueamos el bootloader: | ||
<source lang=bash> | <source lang=bash> | ||
juanda@juanda-PC:~/Android/sdk/platform-tools$ sudo ./fastboot devices | juanda@juanda-PC:~/Android/sdk/platform-tools$ sudo ./fastboot devices | ||
Línea 62: | Línea 93: | ||
juanda@juanda-PC:~/Android/sdk/platform-tools$ | juanda@juanda-PC:~/Android/sdk/platform-tools$ | ||
</source> | </source> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
+ | ====Ejemplo de uso: flashear imágenes==== | ||
+ | *Primero habría que descargar la imágen que queremos utilizar o tener alguna disponible (por ejemplo un backup). | ||
+ | *Es conveniente tener ciertos comandos en nuestro PATH de usuario (fichero $HOME/.bashrc en Linux): | ||
+ | <source lang="bash"> | ||
+ | juanda@juanda-PC:~$ echo $PATH | ||
+ | /usr/local/bin:/usr/bin:/bin:/usr/games:/home/juanda/Android/sdk/tools:/home/juanda/Android/sdk/platform-tools | ||
+ | </source> | ||
+ | *Se verifica que la imagen descargada no está corrupta. | ||
+ | *Ejemplo: Verificación de una ROM | ||
+ | <source lang="bash"> | ||
+ | juanda@juanda-PC:~/Descargas$ md5sum rasbeanjelly_rascarlo_mako_ota_2013-03-10.zip | ||
+ | ff838596803fe634fccf9cd43fd7110c rasbeanjelly_rascarlo_mako_ota_2013-03-10.zip | ||
+ | </source> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | *¡Los comandos fastboot los tendremos que ejecutar con usuario root! | ||
+ | *Flasheo (instalación) del kernel: | ||
+ | <source lang="bash"> | ||
+ | fastboot flash boot boot.img | ||
+ | ./fastboot flash boot boot.img | ||
+ | </source> | ||
+ | *Normalmente el fichero con boot.img corresponde al kernel. | ||
+ | *El "./" no es necesario si tenemos fastboot en la variable de entorno $PATH: | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | *Flasheo de la ROM: | ||
+ | <source lang="bash"> | ||
+ | ./fastboot flash system systemfile.img | ||
+ | </source> | ||
+ | *Normalmente las ROM van ya con el kernel dentro del fichero de instalación (.zip) | ||
+ | *Ejemplo fichero zip ROM CyanogenMod: | ||
+ | [[Archivo:Romcyanogen.png|600px]] | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | *Normalmente el flasheo de la ROM lo haremos desde el recovery y el zip de la ROM llevará ya el kernel adecuado. | ||
+ | *Para ello si que necesitaremos a menudo un recovery distinto al original (este se limita a flashear las ROM vía OTA del fabricante). | ||
+ | *Flasheo de recovery: | ||
+ | <source lang="bash"> | ||
+ | ./fastboot flash recovery recovery.img | ||
+ | </source> | ||
+ | </div> | ||
+ | </div> |
Última revisión de 23:03 13 may 2013