/

fastbootのコマンドリスト(不完全詳細版)

fastbootコマンドのヘルプに表示されるコマンドとオプションの詳細解説版(不完全版、ちょっと翻訳しただけ)です。

Fastboot のコマンドリストで書けなかった分の補完という感じです。

詳細解説と言ってますが、全部叩いたわけではないのでよくわからないことも多いです。なので不完全版です、すまんす。

flashing

flashingはロムを焼く時に使うやつです、アップデートとかにも使います。

  • $ fastboot update ZIP

Flash all partitions from an update.zip package. - update.zipという名前のファイルが存在すればこのコマンドでアップデートができるようですが、実際に使ったことが無いのでわかりません。他の名前でもいいのかは不明です。

  • $ fastboot flashall

Flash all partitions from $ANDROID_PRODUCT_OUT. On A/B devices, flashed slot is set as active. Secondary images may be flashed to inactive slot. - ANDROID_PRODUCT_OUTという環境変数(シェル変数?)を使ってすべてのパーティションにファイルをインストールするようです、これも実際に使ったことないので詳細は不明です。

  • $ fastboot flash PARTITION [FILENAME]

Flash given partition, using the image from $ANDROID_PRODUCT_OUT if no filename is given. - fastbootで一番使うコマンドだと思います。[filename]が与えられていない場合はANDROID_PRODUCT_OUT変数を使うようです。例えば$ fastboot flash recovery recovery.imgみたいに打ちます。


basics

よく使うコマンドです。

  • $ fastboot devices [-l]`

List devices in bootloader (-l: with device paths). - usbで接続されているfastbootモードになっているデバイスを表示します。$ adb devicesと似たようなものです。-lオプションをつけることでデバイスのパスを表示するようです。

  • $ fastboot getvar NAME

Display given bootloader variable. - NAMEで指定したbootloader変数を表示するようです。$ fastboot getvar allですべての変数を取得できるようです。

  • $ fastboot reboot [bootloader]

Reboot device. - デバイスを再起動します。$ fastboot reboot bootloader で再度ブートローダーを起動します。


locking/unlocking

2015年以降に出たGoogleのAndroid端末(Nexus 5XとかPixel系)のブートローダーアンロックのコマンドのようです。

  • $ fastboot flashing lock|unlock

Lock/unlock partitions for flashing - $ fastboot oem lock|unlockの代わりのコマンドのようです。私は2015年以降のGoogleの端末は持っていないので実際には叩いたことはありません。

  • $ fastboot flashing lock_critical|unlock_critical

Lock/unlock 'critical' bootloader partitions.flashing get_unlock_ability Check whether unlocking is allowed (1) or not(0). - クリティカルなロックとアンロックをするようですが、実際にやったことないので詳細は不明です。工場出荷時などに叩くコマンドでしょうか。


advanced

アドバンストです、私はeraseくらいしか使ったことありません。玄人しか使っちゃいけないということでしょう。

  • $ fastboot erase PARTITION

Erase a flash partition. - パーティションを消去します。ロム焼きがうまくいかない時に結構使うかも。

  • $ fastboot format[:FS_TYPE[:SIZE]]

PARTITION Format a flash partition. - パーティションのフォーマットを行います。フォーマットにあまり詳しくないので適当なこと言えませんが、ロムがうまく焼けない時とかはこれをするかもしれません。

  • $ fastboot set_active SLOT

Set the active slot. - アクティブなスロットを切り替えられるようですが、スロットがよくわかりません、わたし。

  • $ fastboot oem [COMMAND...]

Execute OEM-specific command. - これはベンダー(端末を作ったメーカー)特有のコマンドを叩けます。Samsung、LG、Sonyなどメーカーによって特殊なコマンドがあるはずですが、コマンド名はほとんど公開されていないので詳細は不明です。

  • $ fastboot gsi wipe|disable

Wipe or disable a GSI installation (fastbootd only). - GSI(Global System Interrupt)を消したりオフにしたりするようですが、これによって何が起きるのか私はわかりません。

  • $ fastboot wipe-super [SUPER_EMPTY]

Wipe the super partition. This will reset it to contain an empty set of default dynamic partitions. - スーパーなパーティションを消すようです、ちょっと怖いです。


boot image

イメージを起動します。何回か使ったことがあるような気がします。

  • $ fastboot boot KERNEL [RAMDISK [SECOND]]

Download and boot kernel from RAM. - ブートカーネルをストレージに書き込まず、メモリ上に展開して起動するようです。たぶん$ fastboot boot boot.imgとかだと思います。

  • flash:raw PARTITION KERNEL [RAMDISK [SECOND]]

Create boot image and flash it. - ブートイメージを作ってからflash(書き込む)するようです。下記がオプションです。 - --dtb DTB - Specify path to DTB for boot image header version 2. - --cmdline CMDLINE - Override kernel command line. - --base ADDRESS - Set kernel base address (default: 0x10000000). - --kernel-offset - Set kernel offset (default: 0x00008000). - --ramdisk-offset - Set ramdisk offset (default: 0x01000000). - --tags-offset - Set tags offset (default: 0x00000100). - --dtb-offset - Set dtb offset (default: 0x01100000). - --page-size BYTES - Set flash page size (default: 2048). - --header-version VERSION - Set boot image header version. - --os-version MAJOR[.MINOR[.PATCH]] - Set boot image OS version (default: 0.0.0). - --os-patch-level YYYY-MM-DD - Set boot image OS security patch level.


Android Things

Android Things用です、IoTですね。

  • $ fastboot stage IN_FILE

Sends given file to stage for the next command. - Android Thingsに詳しくないのでステージが何を意味するのかよくわかりません。

  • $ fastboot get_staged OUT_FILE

Writes data staged by the last command to a file. - Android Thingsに詳しい人教えてください。


options

fastbootで使うオプションたちです。

  • -w

Wipe userdata. - ユーザーデータを削除するようです。$ fastboot -wだけで削除できるのかは不明です。

  • -s SERIAL

Specify a USB device. - fastboot状態のデバイスが複数PCに挿さっていた場合に使います。$ fastboot -s nantyaraserial flash recovery recovery.imgみたいにして使いますがfastboot状態のデバイスを複数PCに挿している状態って、工場くらいだと思いますがどうなんでしょうか。たぶん工場で使うんでしょうねこれは。

  • -s tcp|udp:HOST[:PORT]

Specify a network device. - これはUSB接続ではなくネットワーク経由でつながっているデバイスを指定するオプションのようです。

  • -S SIZE[K|M|G]

Break into sparse files no larger than SIZE. - 指定したサイズに何かを分割するオプション?でしょうか。

  • --force

Force a flash operation that may be unsafe. - 強制的にflashする場合などに使うオプションのようです。

  • --slot SLOT

Use SLOT; 'all' for both slots, 'other' for non-current slot (default: current active slot). - スロットを指定するオプションのようです。

  • --set-active[=SLOT]

Sets the active slot before rebooting. - 再起動後にアクティブにするスロットを決めるオプションのようです。

  • --skip-secondary

Don't flash secondary slots in flashall/update. - セカンダリのスロットにはflashしないオプションのようです。

  • --skip-reboot

Don't reboot device after flashing. - flash後に自動的に再起動しないようにするオプションです。

  • --disable-verity

Sets disable-verity when flashing vbmeta. - このオプションはよくわかりません、verityとは何ぞや。

  • --disable-verification

Sets disable-verification when flashing vbmeta. - vbmetaをflashした際の検証をしないようにするオプションのようです。

  • --unbuffered

Don't buffer input or output. - バッファを使わないようにするオプションのようですが、何のバッファでしょうか。

  • --verbose, -v

Verbose output. - flash時の詳細情報などを表示するオプションです。

  • --version

Display version. - $ fastboot --version でfastbootのバージョンを表示する、はずです。

  • --help, -h

Show this message. - $ fastboot --helpでヘルプを表示します。今回の記事はこのコマンドで表示されたものをちょっとだけ翻訳したものです。


使ったことのあるコマンド(オプション)よりも使ったことないモノの方が多いです。 これを使いこなせたらロム焼き玄人ですね。

前の記事: Fastboot のコマンドリスト

姉妹編: adb(Android Debug Bridge) のコマンドリスト

どうやってロム焼くのか気になった方は下記も Nexus 5にAndroid Pieを入れる