Diferencia entre revisiones de «Usuario:Juanda/android/fastboot»

De WikiEducator
Saltar a: navegación, buscar
(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 viene con el [http://developer.android.com/sdk/index.html Android SDK] y puede ser usada para flashear particiones del dispositivo.   
+
 
*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 útil para hacer un update del firmware sin tener que usar el modo recovery.
 
 
*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 dispositovos Google Nexus.
+
*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>
[http://www.htcmania.com/mediawiki/index.php/C%C3%B3mo_utilizar_FastBoot Tutorial sobre FastBoot].
+
<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


¿Qué es FastBoot?

  • fastboot es una pequeña herramienta que y puede ser usada para flashear particiones del dispositivo.
  • 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).
  • Es el modo preferido para instalar la imagen de recovery en muchos dispositivos.
  • Fastboot también se usa para desbloquear el bootloader de los dispositivos Google Nexus.

Instalación y ejecución de Fastboot

  • Viene con el 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.
  • Los comandos de fastboot solo funcionan si el dispositivo está en modo fastboot.
  • Arrancar el dispositivo en modo fastboot:
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
....
  • Otra opción sería apagar el teléfono y encenderlo pulsando una combinación de teclas.

Opciones del comando fastboot

juanda@juanda-PC:~$ fastboot
usage: fastboot [ <option> ] <command>
 
commands:
  update <filename>                        reflash device from update.zip
  flashall                                 flash boot + recovery + system
  flash <partition> [ <filename> ]         write a file to a flash partition
  erase <partition>                        erase a flash partition
  format <partition>                       format a flash partition 
  getvar <variable>                        display a bootloader variable
  boot <kernel> [ <ramdisk> ]              download and boot kernel
  flash:raw boot <kernel> [ <ramdisk> ]    create bootimage and flash it
  devices                                  list all connected devices
  continue                                 continue with autoboot
  reboot                                   reboot device normally
  reboot-bootloader                        reboot device into bootloader
  help                                     show this help message
options:
  -w                                       erase userdata and cache (and format if supported by partition type)
  -u                                       do not first erase partition before formatting
  -s <specific device>                     specify device serial number or path to device port
  -l                                       with "devices", lists device paths
  -p <product>                             specify product name
  -c <cmdline>                             override kernel commandline
  -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
  -n <page size>                           specify the nand page size. default: 2048
  -S <size>[K|M|G]                         automatically sparse files greater than size.  0 to disable

Comando fastboot oem unlock

Unlockbootloader.png

  • É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.
  • Comprobamos que el dispositivo esté disponible y desbloqueamos el bootloader:
juanda@juanda-PC:~/Android/sdk/platform-tools$ sudo ./fastboot devices
01a927828f90ccde	fastboot
juanda@juanda-PC:~/Android/sdk/platform-tools$ sudo ./fastboot oem unlock
...
FAILED (remote: Already Unlocked)
finished. total time: 0.001s
juanda@juanda-PC:~/Android/sdk/platform-tools$

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):
juanda@juanda-PC:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games:/home/juanda/Android/sdk/tools:/home/juanda/Android/sdk/platform-tools
  • Se verifica que la imagen descargada no está corrupta.
  • Ejemplo: Verificación de una ROM
juanda@juanda-PC:~/Descargas$ md5sum rasbeanjelly_rascarlo_mako_ota_2013-03-10.zip 
ff838596803fe634fccf9cd43fd7110c  rasbeanjelly_rascarlo_mako_ota_2013-03-10.zip
  • ¡Los comandos fastboot los tendremos que ejecutar con usuario root!
  • Flasheo (instalación) del kernel:
fastboot flash boot boot.img
 ./fastboot flash boot boot.img
  • Normalmente el fichero con boot.img corresponde al kernel.
  • El "./" no es necesario si tenemos fastboot en la variable de entorno $PATH:
  • Flasheo de la ROM:
./fastboot flash system systemfile.img
  • Normalmente las ROM van ya con el kernel dentro del fichero de instalación (.zip)
  • Ejemplo fichero zip ROM CyanogenMod:

Romcyanogen.png

  • 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:
 
./fastboot flash recovery recovery.img