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

De WikiEducator
Saltar a: navegación, buscar
(Ejemplo de uso)
 
(31 revisiones intermedias por el mismo usuario no mostrado)
Línea 2: Línea 2:
 
{{#widget:Slides}} {{MiTitulo| Curso de Android}}  
 
{{#widget:Slides}} {{MiTitulo| Curso de Android}}  
 
<div class="slides layout-regular template-default">
 
<div class="slides layout-regular template-default">
 +
<div class="slide">
 +
=FastBoot=
 +
</div>
 +
<div class="slide">
 +
==== ¿Qué es FastBoot? ====
 +
*[[wikipedia: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.
 +
</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.
 +
*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">
 
<div class="slide">
  
== A brief introduction to fastboot ==
+
====Opciones del comando fastboot====
 
+
<source lang="bash">
[[wikipedia:fastboot|fastboot]] is a small tool that comes with the [http://developer.android.com/sdk/index.html Android SDK] (software developer kit) that can be used to re-flash [[Doc:_more_concepts#Partitions_and_directories|partitions]] on your device.  It is an alternative to the recovery mode for doing installations and updates.
+
juanda@juanda-PC:~$ fastboot
 
+
usage: fastboot [ <option> ] <command>
Because fastboot mode can start on your device even before Android loads (and can even run when Android isn't installed at all), fastboot mode is useful for updating the firmware quickly, without having to use a recovery mode.  In fact, it's frequently the preferred way to initially install the recovery image on many devices.  Fastboot can also be used for developer operations like unlocking the bootloader of Google's Nexus devices.
+
 
+
Not all devices support fastboot, but many do.
+
 
+
There are two "sides" to using fastboot-- the computer side and the device side.  Typically your device first is connected to your computer via a USB cable.  Then you boot to the "fastboot mode" on the device.  On your computer, you then run the <code>fastboot</code> tool to issue commands. '''Please note that fastboot commands will ONLY work while the device is in fastboot mode.'''
+
  
 +
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
 +
</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 22: Línea 92:
 
finished. total time: 0.001s
 
finished. total time: 0.001s
 
juanda@juanda-PC:~/Android/sdk/platform-tools$  
 
juanda@juanda-PC:~/Android/sdk/platform-tools$  
 +
</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>
 
</source>
 
+
*Se verifica que la imagen descargada no está corrupta.
== Getting fastboot ==
+
*Ejemplo: Verificación de una ROM
 
+
<source lang="bash">
See here for [http://developer.android.com/sdk/index.html instructions on downloading the latest Android SDK], and thus fastboot, for your computer.
+
juanda@juanda-PC:~/Descargas$ md5sum rasbeanjelly_rascarlo_mako_ota_2013-03-10.zip
 
+
ff838596803fe634fccf9cd43fd7110c  rasbeanjelly_rascarlo_mako_ota_2013-03-10.zip
{{tip|tip=On some GNU/Linux distributions, like Debian Sid, you can install [http://packages.debian.org/search?keywords=android-tools-fastboot fastboot] just with this command:
+
</source>
<code>sudo apt-get install android-tools-fastboot</code>
+
</div>
Or on Fedora, you can install [https://apps.fedoraproject.org/packages/android-tools android-tools] package (which contains fastboot) with this command:
+
<div class="slide">
<code>sudo yum install android-tools</code>}}
+
*¡Los comandos fastboot los tendremos que ejecutar con usuario root!
 
+
*Flasheo (instalación) del kernel:
== Troubleshooting fastboot ==
+
<source lang="bash">
{{Paths}}
+
fastboot flash boot boot.img
===<waiting for device> errors===
+
./fastboot flash boot boot.img
If you see <waiting for device> at any point when executing fastboot command, the PC is not configured to use fastboot properly. Most typically, this is because you are not running fastboot with elevated privileges.
+
</source>
 
+
*Normalmente el fichero con boot.img corresponde al kernel.
====Linux/OSX====
+
*El "./" no es necesario si tenemos fastboot en la variable de entorno $PATH:
Run fastboot as root or with sudo.
+
</div>
 
+
<div class="slide">
====Windows====
+
*Flasheo de la ROM:
Run fastboot as an Administrator.
+
<source lang="bash">
 
+
./fastboot flash system systemfile.img
 
+
</source>
Make sure the output of <code>fastboot devices</code> returns your device serial number or you will never get past this error message.
+
*Normalmente las ROM van ya con el kernel dentro del fichero de instalación (.zip)
 
+
*Ejemplo fichero zip ROM CyanogenMod:
{{Recovery_install_fastboot|device_name=device}}
+
[[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