[Nexus 7] Nexus 7をファクトリーイメージでAndroid4.2に初期化アップデート(ついでにroot取得)

Nexus 7にAndroid4.2のアップデートが配信されていますが、今後の事(何が^^;)も考えてAndroid4.2のファクトリーイメージを入れてみました。

※ Nexus 7が初期化されるためデータが全部消えます。アップデートに失敗するとNexus 7が起動しなくなる場合があります。この方法は自己責任でご利用ください。

Nexus 7のファクトリーファームウェアはGoogleのFactory Images “nakasi” for Nexus 7 (Wi-Fi)から入手します。4.2 (JOP40C)をダウンロードします。

ダウンロードした nakasi-jop40c-factory-6aabb391.tgz を展開するとnakasi-jop40cフォルダーが出来ます。

PCはAndroid SDKの環境が整っている状態で作業を進めます。

アップデートするイメージファイルは、image-nakasi-jop40c.zip を展開して出てきますが、バッチファイル(flash-all.bat)があるのでそれ使ってアップデートします。

flash-all.batのコマンドを参照すると以下のようになっています。

fastboot erase boot
fastboot erase cache
fastboot erase recovery
fastboot erase system
fastboot erase userdata

fastboot flash bootloader bootloader-grouper-4.13.img
fastboot reboot-bootloader

fastboot -w update image-nakasi-jop40c.zip

各パーティションの初期化と、ブートローダのアップデート、ファームウェアの書き込みを行っていることが分かります。

fastbootコマンドを使っているので、Nexus 7のブートローダを起動します。(Nexus 7のブートローダはすでにアンロック済みです。ブートローダで "fastboot oem unlock" で解除出来ますがNexus 7は初期化されます)
adbコマンドで起動するするには、"adb reboot bootloader" で起動します。または、Nexus 7の電源を落としてボリューム下+電源ボタンをロゴが出るまで長押し起動でもブートローダが起動します。

ブートローダが起動したら PCにNexus 7 を接続し flash-all.bat を起動するとファームウェアの書き込みが行われます。

書き込みが完了したら自動的に再起動し初期設定画面が表示されるので初期設定し完了です。

Android 4.2になっています。

rootの取得は、ClockworkMod Recoveryを書き込んでSuperSUをインストールするだけですがちょっと一工夫が必要です。

ClockworkMode Recovery は http://www.clockworkmod.com/rommanager/ から Google Nexus 7用をダウンロードします。

私はTouch版では無い6.0.1.0を使っています。

SuperSU(http://forum.xda-developers.com/showthread.php?t=1538053)をダウンロードしておきます。(CWM installable ZIP: CWM-SuperSU-v0.98.zip)

ファイルをダウンロードし、Nexus 7のブートローダを起動しClockworkMod Recoveryのイメージを書き込みます。

fastboot flash recovery recovery-clockwork-6.0.1.0-grouper.img

書き込みが完了したらブートローダを再起動します。

fastboot reboot-bootloader

ブートローダが起動している状態でボリューム上を2回押して”Recovery mode”を表示し電源ボタンを押しClockworkMod Recoveryを起動します。

ここで "install zip from sdcard"CWM-SuperSU-v0.98.zip をインストールしたいのですが、/sdcardのマウント方法が変わったのかClockworkMod Recoveryから、/sdcardが見えません。

"install zip from sdcard" で見えている場所が /data/media なので /data/mediaCWM-SuperSU-v0.98.zip を置く必要があります。

[追記] /data/media/0 に sdcard領域がマウントされます。

  • "mounts and storage" > "mount /data" を選択して /data をマウントします。
  • PCにNexus 7を接続し "adb push CWM-SuperSU-v0.98.zip /data/media"/data/media に CWM-SuperSU-v0.98.zip を置きます。
  • “+++++Go Back+++++” を選択し、"install zip from sdcard" > "choose zip from sdcard" で CWM-SuperSU-v0.98.zip を選択しインストールします。
  • Topメニューに戻り、"reboot system now" を選択して再起動します。

SuperSUがインストールされ、rootが取れた状態になります。

busyboxはbusybox installなどのアプリケーションからインストールします。

そのうち修正されると思いますが、ClockworkMod Recoveryから何かインストールする場合にはファイルを/data/mediaに置く必要があります。

/data/media/0にsdcard領域がマウントされますが、/data/mediaにSuperSUなど置いてインストールしても良いと思います。

 ※ この画面はDPI 160に変更した状態です。

ClockworkMod Recoveryが初期化されないようスクリプトファイルの修正が必要でしたが、スクリプトファイルが見当たらないのと再起動しても書き換わらないので修正は必要無いと思います。

Android 4.1.2のバージョンではDPIを変更するとTablet UIに変わったのですが、今回のバージョンではTablet UIには変わらないようです。(>_<)

/system パーティションのファイル操作が Root Explorerから出来ますが adb shell 経由では出来なかったので何か設定が必要なのかもしれません。(調査中)
Root Explorer等で、/system を rw でリマウントしても駄目なようです。
adb shellで root になり、コマンドで "mount -o remount rw /system" を実行するとアクセス出来ました。基本ですね(^_^;)

次はカスタムROMかな^^;

[Android] Android 4.2でDeveloper optionsメニューを表示する方法

いきなりな感じですが、困ったので書いておきます。

Nexus 7のAndroid 4.2のファームウェアがGoogleからリリースされ早速アップデートしてみました。
今回はフルアップデートしてみたので、方法は後ほどレポートします。

Android 4.2にアップデート出来たのですが adb接続しようとadbイネーブルの設定を探してみましたが見つかりません。
Android 4.1の時には、{ } Developer optionsで設定していたのですが、Android 4.2ではありませんでした。
調べてみたら、{ } Developer options は隠しメニューになったようです。

表示する方法ですが、Settings -> About tablet で、Build number を 7回タップします。
4回目からカウントダウンのメッセージが表示されるので確認してください。

分からなければ何度もタップすれば大丈夫です^^;

メッセージがちょっと表示されますが、Developモードになり Settings に { } Developer options メニューが表示されます。

後は、Android 4.1.2と同じように adbをイネーブルに出来ます。

他のAndroidデバイスでも同様になると思います。

Nexus 7は普通の人^^;にも売れているので隠すようにしたのかな?