前回の続き。
まず初めに。
※※※ ご注意 ※※※
自分で自分の端末にROMイメージを書き込むことは、
違法ではありませんが、
製品の保証が効かなくなる恐れがあり、
最悪の場合、端末が二度と起動しなくなることすら有り得ます。
また、端末内のユーザーデータは全て消去されます。
ですので、もしご自分で試される場合は、くれぐれも自己責任で行なってください。
少なくとも、GoogleのAOSPの解説ページ
正しく理解してからにした方がよいと思います。
今回は、ROM焼きの過程を手順を追ってお話していく。
まずはソースのビルド。
「lunch」コマンドを使ってビルドターゲットを選び(本当に『ランチメニュー』が出てくる

)、
その後「make」するわけだが、
私のマシン、Core 2 Quad @ 2.8GHz (4コア) / メモリ 4GB の場合、
$ make -j4
で4プロセス並行に走らせてさえ、ビルド完了まで3〜4時間程度かかった。
(きっちり測っていなかったが、だいたいそのくらい。)
驚いたことに、というか、当然、というか、ビルドは正常に終了した。
これだけ大きなブログラムがすんなりビルドできるなんて、
20年前はほとんどないことだったので(大抵どこかでエラーで引っかかっていた)、
「これもインターネットの普及のおかげかな」などと思ってしまう。
(完璧にメンテされたソースコードがリアルタイムで手に入る、という意味で。)
さて、下ごしらえ(ビルド)は終わったので、焼き(ROMへの書き込み)に入る。
※あ、前回から「ROM、ROM」と繰り返してますが、
実際には FLASHメモリ(不揮発性メモリ) のことです。
以下も「ROM」と書きますが、適宜読み替えてください。
通常のモードではROMに書き込めないので、
Nexus 7 を、前回もお話した「fastbootモード」にする。
だが、これだけでは足りない。
左下の文字の並びをよく見ていただきたい。
一番下の行に、赤い文字で、
LOCK STATE - LOCKED
とある。
これは、
「bootloader(システム起動用の、OSとは独立したソフトウェア)がROMをロックしていて、
ROMへの書き込みを許さない状態」
であることを示す。
通常は Nexus 7 は常にこの状態である。
これによって、何かの拍子に誤ってROMに書き込みが行われることを防いでいる。
専用のコマンドによって、このロックを解除する。
コマンドを入力すると、Nexus 7 には、↓の確認画面が表れる。
Yes には、"may void warranty" とあるように、
「製品の保証が効かなくなる可能性」が明記されている。
Yes を選び、ロックを解除する。
※文中にも書いてあるように、この時は画面タップでは選べない。
本体右横のVolumeキーで選択し、電源ボタンで決定する。
また、このタイミングでユーザーデータが全て消去される。
となり、ROMへの書き込みが可能になったことを示す。
いよいよ「焼き」である。
ビルドしたAndroid OS のシステムイメージを、実際にROMに書き込む。
これもコマンド一発である。
既に意思確認してあるので、この時は「確認」の類は一切ない。
コマンドは粛々と書き込みを進めてゆく。
ROMへの書き込みが全て完了すると、
コマンドは Nexus 7 を再起動させて、完了する。
いつものGoogle先生の起動画面…と思ったら、
下の方に見慣れない錠のマークが表れている。
しかも、外れた錠だ。
これは、「bootloaderがUNLOCKED状態ですよ」ということを示すマークらしい。
UNLOCKED状態のままではマズい。早く再LOCKしなければ。
まあ、それは後で行うとして、そのまま起動を続けさせる。
この後は Nexus 7 (Nexusシリーズ?)の特徴的な
の画面が表れる。
…と思いきや、
あれっ

(…これって、エミュレータの起動画面じゃ…?)
あれっ

(やっぱりエミュレータを最初に起動した時の画面だよね…?)
次回に続く。