最近Androidのrootを取るのにbootloaderのアンロックを行ったのでメモ。
BootLoaderとは
起動直後のコンピュータはハードディスクからOSを読み込むことができない。
そのため、OSを起動させるためにBIOSが読み込む小さなプログラムがブートローダーになる。
ただ、ブートローダーは通常はハードディスク等の先頭部分に512バイト分しか存在しないため、OSを呼び出すことができない。
そこで、ブートローダーは各パーティションの先頭にあるブートマネージャー(2次ブートローダー)を起動させる。
ブートマネージャーは設定された内容に従って、指定されたパーティションにあるOSを起動する。
ここでブートマネージャーの設定ファイルに複数のOS情報を記載することによって、
複数のOSの起動を選択することができる。
Bootloaderのアンロック
ブートローダーにはシステムのアップデート機能もあり、特定の場所にイメージを置いておくとアップデートすることができる。
ただし、電子署名された特定のイメージしかアップデートできないようにメーカーが設定している場合もある。
このとき独自のイメージを焼きたいときに、ブートローダーのアンロックが必要になる。
リカバリーにBootloaderのアンロックが必要
Androidにはboot,system,recoveryの3つのパーティションがある。
通常はsystemが起動するが、アップデートの際は起動できないのでrecoveryを起動してアップデートする必要がある。また、boot領域はシステムが壊れても最低限の起動をするのに必要なもの。
Bootloaderのアンロックをすることで、recovery領域のアップデート(カスタムリカバリー)も可能になる。