Diferencia entre revisiones de «Usuario:Juanda/android/fastboot»
De WikiEducator
(Página creada con '== A brief introduction to fastboot == fastboot is a small tool that comes with the [http://developer.android.com/sdk/index.html Android SDK] (software d…') |
(→Ejemplo de uso) |
||
(33 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
− | == | + | {{Usuario:juanda/android/nav }} |
+ | {{#widget:Slides}} {{MiTitulo| Curso de Android}} | ||
+ | <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"> | ||
− | + | ====Opciones del comando fastboot==== | |
+ | <source lang="bash"> | ||
+ | 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 | ||
+ | </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> | ||
+ | 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$ | ||
+ | </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