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

ブートローダーアンロックのアンロックと関係あるか不明です、勉強不足です。

  • $ fastboot flashing lock|unlock

    Lock/unlock partitions for flashing

    • パーティションのロックとアンロックをするようですが、実際にやったことないので詳細は不明です。
  • $ 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みたいにして使います。
  • -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でヘルプを表示します。今回の記事はこのコマンドで表示されたものをちょっとだけ翻訳したものです。

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