NexusカスタムROM導入手順の考え方

数ヶ月に一度ぐらい、Nexusのカスタムromを最新化しているが、毎回同じようなキーワードで情報を探し、同じような事を確認しながら作業してる。効率悪いので備忘録。
index

  1. 「NexusカスタムROMを焼く」とは
  2. カスタムリカバリ
    1. ClockworkMod
    2. GooManager
  3. リカバリモードでのrom焼き手順(cwm/gooManager共通)

NexusカスタムROMを焼く」とは

Android OSはbootloaderから起動される。bootloaderは通常ユーザは意識する必要がなく、Android起動時のスプラッシュ画面の直前に素通りする。
bootloaderは端末固有の電源ON方法により、起動の流れを中断し、ユーザからの入力を待つモードになる。(Nexusの場合、音量↑↓と電源ボタン同時押し。) 購入直後の端末はbootloaderにロックがかかており、通常のOS起動や電源OFFなど、無難な選択肢しか選べない。
bootloaderは、USBで接続されたPCからアンロックできる(fastboot.exe oem unlock)。アンロックされたbootloaderでは、リカバリモード起動が選択できるようになる。
Nexusカスタムromを焼く」とは(狭義には)このリカバリモードから通常モードで起動される領域(systemパーティション)にカスタムromイメージを書き込む事。

カスタムリカバリ

bootloaderアンロックによりリカバリモードに入れるようになるが、一般的にキャリアが提供する素のリカバリモードは何も出来ない。Nexusの場合は、腹に赤△!マークのドロイド君が仰向けにぶっ倒れている画面が出るだけ。カスタムromを焼くには、カスタムリカバリを利用する。
カスタムリカバリの代表選手はClokwokModやgooManager(TWRP)。
ClokwokModが基本系、rom焼き完了までに一連の半定型的な手作業が必要。gooManagerは応用系で、一連の半定型的作業をバッチ的に行える仕掛け。
一般的に、カスタムリカバリは、システム全体のバックアップ/リストアなどのユーティリティ機能も持つ。

ClockworkMod

CWM実装は2種類。両者の違いは、操作をハードキーで操作するか、画面タップで操作するか。

  1. ClockworkMod for Galaxy Nexus *GSM Edition*
  2. Clockwork Recovery Touch Enabled

CWM利用方法も2種類

  1. USB接続したPCや、端末上のAndroidアプリから、カスタムリカバリイメージを送り込み、端末内のrecovery領域(パーティション)を書き換える事無く、そのまま起動。(fastboot.exe boot イメージ)
  2. 端末内のrecovery領域(パーティション)にカスタムリカバリイメージを永続的に書きこんで利用。bootloader選択支でrecoveryを選ぶと起動する。またリカバリモードを指定したAndroid再起動なども可能。(fastboot.exe flush recovery リカバリイメージ) 注1

前者のメリットは、後でメーカの公式アップデートを適用したい場合など、端末を初期状態に戻す時に気にしなければならないことが一つ減る事。後者のメリットは、端末単独で、リカバリモードに入れる事。
注1: 工場出荷時のAndroid(カスタムROMを焼く前)の場合、fastboot flash recovery でリカバリ領域を書き換えても、自動で純正リカバリに再上書きされる安全装置に妨害される。別途対策が必要。→「recovery-from-boot.p」で検索。

gooManager + TWRP(Team Win Recovery Project)

cwmを利用してromを焼く時の一連の半定型的手番をバッチ的に行う仕組み。何度もrom焼きを行う人は、作業漏れリスクが少なくなり、より短時間で作業が完了する。
GUIフロントエンドgooManagerと、専用のリカバリTWRPから構成される。TWRPは、最初に一度、gooManagerからリカバリ領域に書き込む操作が必要。その後、gooManagerでバックアップ、各種キャッシュクリア、カスタムrom(zip)を焼くなど一連の流れを定義し、TWRPでバッチ実行する。
gooManagerには、最新romファイルのダウンロードを支援する機能などもある(aokp, paranoid, 他, 多種各種カスタムロムに対応)。

リカバリモードでのrom焼き手順(cwm/gooManager共通)

  • バックアップ(必要に応じ)
  • wipe (cacheパーティション, Dalvikキャッシュ, バッテリ状態)
  • install zip: Android_Revolution_HD_Super_Wipe_Lite_Nexus.zip
  • install zip: ロム
  • install zip: カーネル(必要なら)
  • install zip: gapps
  • install zip: ユーザ定義zip(必要なら)
Super Wipe Lite

http://forum.xda-developers.com/showthread.php?t=1361348

This script will erase and format your system and cache partition using EXT4 file-system
It will also wipe /data partition, but /data/media (virtual SD card) will be untouched
You need to copy ROM .zip file to your virtual SD Card before using Super Wipe