Fastboot (Tool)

Aus Android Wiki
Version vom 7. März 2016, 01:27 Uhr von Cptechnik (Diskussion | Beiträge) (Link nach Fastbootmodus)

Fastboot ist ein Protokoll bzw. Tool und im Android SDK enthalten. Dort befindet es sich wie ADB im Ordner platform-tools. Fastboot erlaubt es Images direkt auf eine Partition des internen Speichers zu flashen.

Das Handy muss sich hierfür im Fastbootmodus befinden. Diesen erreicht man mit jedem Gerät anders.
Bestimmte Befehle erfordern Schreibberechtigungen auf die jeweils anzuwendende Partitition. Im Normalfall hat der Telefonhersteller die Schreibberechtigung durch individuelle Software- und/oder Hardwarelösungen eingeschränkt. Um zu erfahren, ob und welche Befehle du verwenden kannst, suche bitte in dem Artikel deines Handys und im Forum. mfastboot ist eine leicht modifizierte Version von fastboot, die Befehle sind die gleichen.

Installation

Windows

Für Windows lassen sich sowohl die ADB, als auch Fastboot am einfachsten über den Android SDK Manager herunterladen, installieren und bei Bedarf aktualisieren. Hierfür muss lediglich das Android SDK von der offiziellen Webseite heruntergeladen und installiert werden. Anschließend kann mit dem SDK Manager das Paket Android SDK Platform Tools heruntergeladen und installiert werden. Nach Abschluss der Installation befindet sich sowohl das Fastboot Tool, wie auch die ADB im Unterordner platform-toolsi im Android SDK Installations-Ordner.

Inzwischen gibt es für Windows auch eine abgewandelte Minimalversion Minimal ADB and Fastboot im XDA-Forum, welches nur 2 MB groß ist. Beide erfordern zusätzlich entsprechende Treiber vom Hersteller des Gerätes.

Linux

Für nahezu jede wichtige Linux-Distribution sind die Tools ADB und Fastboot als Pakete hinterlegt. Somit können diese einfach über das Advanced Packaging Tool (apt) installiert werden:

sudo apt-get install android-tools-fastboot android-tools-adb

Wichtige Befehle

Eine Befehlsübersicht erhält man mit

fastboot help

Geräte anzeigen

Eine Liste der verfügbaren Handys ausgeben lassen:

fastboot devices

Gerät neu starten

Hier gibt es zwei Möglichkeiten:

  • Normal neu starten:
fastboot reboot
  • In den Fastbootmodus bzw. Bootloadermode neu starten:
fastboot reboot-bootloader

Images flashen

Ein Image/Abbild (.img) auf eine beliebige Partition flashen:

fastboot flash <Partition> /pfad/zur/datei.img

<Partition> ist durch die gewünschte Partition zu ersetzen, z.B.

  • "recovery" für das (Custom-)Recovery,
  • "system" für die Stock-ROM-Abbilder,
  • "motoboot" für den Bootloader (Android 5.1 braucht auf vielen Geräten gegenüber 5.0 einen neuen Bootloader)
  • "logo" für das Bootlogo - das beim öffnen des Bootloader mit einer Warnmeldung versehen wurde, das hiermit überschrieben werden kann

Partition löschen

Mit diesem Befehl kann man jede beliebige Partition löschen:

fastboot erase <Partition>

<Partition> ist durch die gewünschte Partition zu ersetzen, z.B. data Genau genommen wird nicht die Partition gelöscht, sondern deren Inhalt.

Beispiele sind

  • fastboot erase cache zum Löschen des Cache/Zwischenspeichers beim Update oder falls Probleme auftreten und
  • fastboot erase userdata zum Zurücksetzen des Gerätes (Factory-Reset/Hard-Reset/Full Wipe) – löscht dabei den die /data Partition und die interne SD-Karte (welche als /sdcard Partition eingebunden wird)!
  • fastboot erase modemst1 und fastboot erase modemst2 zum löschen der Modem(-Parameter/-Einstellungen) bei Problemen mit dem Mobilfunk (UMTS) Modem

Variablen anzeigen

Mit dem Befehl werden alle Variablen, die im Bootloader zur Verfügung stehen, als Liste angezeigt:

fastboot getvar all

Wird das all durch den Variablen-Namen ersetzt, zeigt Fastboot nur diesen Wert an.

Besonders interessant sind die Einträge samt Beispiele

(bootloader) version-bootloader: 4113        #
...und
(bootloader) cid: 0x0007        #CID = carrier id,cid is like a firmware security code

die äußerst hilfreich bzw erforderlich beim Flashen von Bootloader und Stock-ROM sind.

Befehlsübersicht

Mit fastboot alleine wird eine Übersicht der verfügbaren Befehle inklusive einer kurzen Beschreibung der Funktion angezeigt:

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
 -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


Beispiele

Zurücksetzen

fastboot erase data

Vergleichbar mit "Werksreset", "Wipe Data" im Recovery, "Auf Werkszustand zurück" in "Sichern & zurücksetzen".

Ein löschen des Cache (Zwischenspeicher) ist auch notwendig.

Modem-Firmware flashen

fastboot flash modem NON-HLOS.bin
fastboot flash fsg fsg.mbn​

(nur in Kombination mit Modemeinstellungen löschen) Entsprechende Dateien der Firmware müssen sich im aktuellen Verzeichnis befinden.

Modemeinstellungen löschen

fastboot erase modemst1
fastboot erase modemst2

Cache löschen

fastboot erase cache

Beim Installieren von neuen CustomROM's und recovern (wiederherstellen) von Backups ist es notwendig den Zwischenspeicher (Cache) von Android zu löschen.

Gerätetyp identifizieren

fastboot getvar cid
fastboot getvar ro.carrier
fastboot getvar ro.build.fingerprint

Anhand der cid, ro.carrier und der Textausgabe ro.build.fingerprint kann man herausfinden, um welches Gerät es sich handelt und für welchen Markt (bzw. Markregion) es produziert worden ist, um zum Beispiel um beim Flashen einer Firmware die richtige Version herauszufinden oder (bei einigen Herstellern) ob der Bootloader überhaupt geöffnet werden kann.[1]

Mögliche Ausgaben sind zum Beispiel:

# fastboot getvar ro.build.fingerprint
(bootloader) ro.build.fingerprint[0]: motorola/peregrine_reteu/peregrine
(bootloader) ro.build.fingerprint[1]: :5.1/LPB23.13-17/18:user/release-k
(bootloader) ro.build.fingerprint[2]: eys
finished. total time: 0.032s
# fastboot getvar ro.carrier
ro.carrier: retde
finished. total time: 0.008s
# fastboot getvar cid
cid: 0x0007
finished. total time: 0.001s

Einzelnachweise