https://naba-san.hatenablog.com/


Optimus Chat L-04C + root + CyanogenMod (2012-05-27 Update)

少し前まで機種変更無料とのことでお祭りになっていた、LG Electronics 製の docomo スマートフォン、L-04C。日本向けの端末ながらとてもシンプルな構成らしく、改造のベースとしては比較的扱い易そうな素直な個体。そんな事情もあって、ROM焼きに関する情報も揃ってきている様子。

もう2-3ヶ月早ければタダで入手できたかもだけど、同じく安くで入手可能だった N-04C に気を取られているうちに入手しそびれたので、ヤフオクで出品されてる方から素直にお譲り頂く事にした。結果、手数料含めてオクで7,500円程度でゲット。

【警告】

お手持ちの Optimus Chat が素敵な文鎮になる可能性を秘めた作業を紹介しています。

文鎮になったとしても、絶対に docomo ショップに駆け込んだりしない人だけ先に進んで下さい。

rooted 端末における作業には文鎮化が付き物です。

一般ピーポーは廻れ右してお帰り下さい。



予め知っておくべき情報

今回は Android の非公式ROMである CyanogenMod 7.x (Android 2.3.7) を導入します。

・日本向けの docomo ROM とはおさらばしますので、spモードのプッシュ通知非対応など、ある程度割り切れる方だけ先に進んで下さい。

・記事中の V10D(初期版), V10E(2011/12/19), V10F(2012/02/16) は、docomo/LG が公式に配布するシステム ROM のバージョンを示しています。バージョンによって root の取得手順などに違いがありますので注意して下さい。

・2011年12月の初版記事投稿時点では CyanogenMod 7.1.0 を導入しました。2012年5月の更新では、aki さん版の CyanogenMod 7.2.0 を導入し、動作を確認しています。

動作イメージ

ニコニコ動画にレビューが上がってたりするので、動作イメージを確認するには丁度良いですね。

ファクトリーリセット

本機は、公式ブートローダーからシステム ROM の復旧(ファクトリーリセット)が可能です。通常の導入手順でフルブリックする可能性は低いと思います。

Optimus Chat (L-04C)の覚え書き | y-log.net (ファクトリーリセットについての記載有)

【L-04C】 文鎮化してしまった時の初期化の方法 | 俺様のブログ (詳細な手順書)

実際の初期化には LG Mobile Support Tool がインストールされている必要があり注意が必要。これで完全な docomo ROM の状態へ戻せます。

root の取り方とか

Xperia 2011 Easy Rooting Toolkit(V10D以下向け) - 一通り必要なファイルは揃ってる。必要以上にツールに頼りたくない人向け。

・SuperOneClick(V10D, V10E, V10F向け) - PC 経由、デバッグモードで root の取得が可能。なお、docomo ROM のバージョンによって必要となるバージョンが異なる点に注意(基本的に最新版でOK)。

CWM Recovery の入手

今回の目玉商品の一つ。ROM のバックアップ、復旧、更新等に使用する。

とりあえず導入しておけば、何かやらかしても大抵元に戻せる‥ハズ。

Optimus chat(L-04C)用CWM Recovery | y-log.net

CyanogenMod の入手

今回の大目玉商品。CWM Recovery と併せて L-04C 向けにビルドされた、いわゆるカスタム ROM。

元になっているソースコードの版やビルドした人などによって、ROM は複数配布されている。導入には CRM Recovery を使用する。
yu さん版
CyanogenMod 7.1.0 for Elini (optimus chat L-04C) | y-log.net

aki さん版
・某掲示板 L-04C ROM焼きスレ - CyanogenMod 7.2.0 / CyanogenMod 9 の配布が行われている。



root の取り方

SuperOneClick を利用する方法 (V10E, V10F向け)

GUI 操作で簡単。XDA Developersから入手可能。

.NET Framework が必須(Ver 3.0 か 3.5 あたり)

Android-SDK は必要なかったはず。うまく動かない場合は入れると良いかも。

Windows PC と L-04C をデバッグモードで接続し、Windows 上で SuperOneClick を実行し、root を取得する。

V10E 以降の docomo ROM では Xperia 2011 Easy Rooting Toolkit が利用できないとの事だが、V10E では SuperOneClick v1.7以上、V10F では 同 v2.3.2以上 にて root が取得可能

root 取得中に SuperOneClick がフリーズする場合、そのバージョンの SuperOneClick では対象の ROM に対応していない可能性が高い。バージョンが一致していることを確認すること(記事更新時点で、V10F にて 2.3.3 での root 取得を確認済み)。

Xperia 2011 Easy Rooting Toolkit を利用する方法 (V10Dのみ)

Xperia 2011 Easy Rooting Toolkit*1を使う場合、ZIPファイルを適当な場所に展開。この中から zergRush、su、Superuser.apk、ついでに busybox を本体へ転送する。

作業の前に、本体側でデバッグモードを有効にしておく

コマンドプロンプトを使用する場合、以下のコマンドで転送できるはず。

> cd [展開先ディレクトリ]
> adb push files\zergRush /data/local/tmp/
> adb push files\su /data/local/
> adb push files\busybox /data/local/
> adb push files\Superuser.apk /data/local/

まずはzergRushによるtemporary rootの取得

> adb shell
$ chmod 777 /data/local/tmp/zergRush
$ /data/local/tmp/zergRush

デバッグ接続の再起動を待ってadbを再接続し、転送したファイルを一通り設定する。

> adb shell
$ /data/local/tmp/sh
# rm /data/local/tmp/*
# mount -o remount,rw /system /system

(busyboxのインストール)
# dd if=/data/local/tmp/busybox of=/system/xbin/busybox
# chmod 04755 /system/xbin/busybox
# rm /system/bin/su
# /system/xbin/busybox --install -s /system/xbin
# rm /data/local/busybox

(suのインストール)
# dd if=/data/local/su of=/system/bin/su
# chmod 06755 /system/bin/su
# rm /data/local/su

(Superuser.apkのインストール 一部訂正)
# dd if=/data/local/Superuser.apk of=/system/app/Superuser.apk
# chown root.shell /system/app/Superuser.apk
# chmod 644 /system/app/Superuser.apk
# rm /data/local/Superuser.apk

# sync
# mount -o remount,ro /system /system
# reboot

これで再起動後は昇格が可能になるはず。



CWM Recovery の導入

正しくは ClockworkMod Recovery と言うそうです。

まずはy-log.netさんから CWM Recovery を入手する。記事投稿時点で最新版は V5(l04crecovery_v5.zip)。ファイルをPC上のどこかに一式展開して、出てきた install.bat を実行、指示に従うだけ。

導入前に既存のリカバリをバックアップしておくことが推奨されていたり。具体的には、コマンドプロンプト上から次の通り作業を実施する。

> adb shell
$ su
# cat /dev/mtd/mtd2 > /sdcard/recovery.img

この辺りは配布元のページにも書かれていることで、install.bat も内部で同様の作業を行う様子。

導入後は、「adb reboot recovery」や、電源投入時の「[Home]+[Power]+[Vol.-]」などからリカバリモードへ入ることができるようになる。

【操作方法】*2
VOLキー↑(Homeキー?): 上選択
VOLキー↓(Menuキー?):下選択
受話キー: 決定
終話キー(検索キー,戻るキー?): 戻る

導入した時点で、一度システムを一式バックアップしておくと良いと思います。docomo ROM がバックアップできるので、ファクトリーリセットを行わずに、必要に応じて元の環境へ戻ってこれます(もちろん、環境をリストアしても CWM Recovery は利用可能です)。



CyanogenMod の入手

続けて CyanogenMod を入手します。ROM の入手方法は2種類ありますので、お好みに合わせて入手して下さい。

yu さん版

y-log.net さんから CyanogenMod 7.1.0 が入手できます。記事投稿時点で最新版は test5 + fix2。それぞれファイルが分かれており、フルイメージの test5*3 を導入した後で、差分イメージである fix2*4 を適用する流れで導入します。もちろん、最新版があるならそちらを選ぶと良いでしょう。

aki ◆qb/3yVsLeVZP さん版

掲示板のL-04C ROM焼きスレのある住人が、L-04C 向けにビルドした CyanogenMod 7.1.0 / 7.2.0,および 9.0.0 を配布されています。

Update に使用するイメージが異なるだけで、yu さん版と同様の手順で更新が可能。後から説明する Google 関係のアプリ(gapps) は対応するバージョンのものを導入すること。なお、各イメージは全てフルサイズのROMなので、古いものから順次インストールする必要はなく、必要なバージョンのみのインストールで良い。アップグレードは、CWM Recovery を用いてSDカードへバックアップ、アップグレード、gapps のインストール、アドバンスド リストアで /data の復元、の手順でOK。

以下はファイル配布時の書き込みログへのリンクです(unkar.org の過去ログを参照、リリース順)。

【aki ◆qb/3yVsLeVZP さんビルドまとめ】

一部のビルドについては http://www5216u.sakura.ne.jp/l04c/ からも入手可能。

CyanogenMod の導入

1. ファイルの転送

1.1 SD カードに clockworkmod フォルダを作成し、その中に update フォルダを作成する。
1.2 作成したフォルダの中に、インストールしたいカスタム ROM を ZIP のまま転送する。

2. ファイルの適用

2.1 CWM Recoveryを起動する
2.2 「install zip from sdcard」>「choose zip from sdcard」を選択
2.3 まずは「update-cm-(ほげほげ)」を選択
2.4 確認画面が表示されるので、「- YES Install <ファイル名>」を選択・実行
(差分更新を適用する場合は2.5へ、必要ない場合は2.7へ)
2.5 続けて差分更新ファイルを選択
2.6 同様に確認画面が表示されるので、「- YES Install <ファイル名>」を選択・実行
(すぐ終わる)
2.7 最初のメニュー画面に戻り、「reboot system now」を選択・実行

起動画面がカッコよくなってる。

不足のアプリ

残念ながら、この状態だと Google 関係のアプリが全く入ってないとか Flash が使えないとか、色々と不都合が多い。開発用途ならともかく、一般用途でマーケットが使えないのは致命的。

Google 関係はこの辺とかから入手できるみたい。CyanogenMod 7 向けのものを入手して CWM Recovery でインストール。

gapps入手方法

gapps-gb で始まるものは GingerBread (Android 2.3.x) 向け、gapps-ics で始まるものは Ice Cream Sandwich (Android 4.0.x) 向け。他にもhdpiだとかtegraだとか色々なバージョンが記載されているが、L-04C では名前に日付と署名(signed)だけが入っているものを選べば良い。

Flash Player は 10.3 から ARM v6 の対応が打ち切られている為、XDA Developers から Flash 10.2 を入手して適当にインストール。


これで一通り使える状態になるはず。

意外と仮想端末とか SSH の使い勝手が良かったのでびっくり。もう一回り画面サイズが大きければ‥

ベースバンドバージョンの更新

akiさん版の ROM は、にゃーにゃー版で緊急地震速報に対応しているが、ベースバンドバージョンが V10F 以上である事が条件となっている。ベースバンドバージョンは docomo 版の ROM を更新すると、システムと共に更新される。

ベースバンドバージョンを更新する必要がある場合、文鎮化した際のファクトリーリセットの手順を参考に、KDZ Updater で V10F.KDZ を適用すると良い。なお、docomo ROM への書き戻しは、結果として unroot する事になるので、再 root 化の手順などを事前に確認しておく必要がある。

偉そうな事を書いたが、大抵の場合はこんな手順になるはず。

  • CWM Recovery でフルバックアップ
  • LG Mobile Support ToolKDZ Updater を使って、L-04C に V10F_00.kdz*5
  • /data の初期化 ([Home]+[Power]+[Vol.-] を同時に押しながら起動すると、設定の初期化が可能)
  • root の再取得、CWM Recovery の再インストール
  • CWM Recovery でフルリストア、または CyanogenMod の再インストール+gapps の再インストール+CWM Recovery でユーザーデータのリストア
ベースバンドバージョンが MODEM ERROR となって表示されない

LG 端末の仕様らしい。最後に適用した docomo ROM のバージョンから推定して下さい。面倒ならバックアップ取って上書きしても問題ないかと。

*1:残念ながらtoolkitのbatファイルを実行するだけではroot取得できない

*2:括弧で示したのは挙動がよく分からないもの

*3:update-cm-7.1.0-elini-KANG-test5.zip

*4:update-test5fix2.zip

*5:http://csmg.lgmobile.com:9002/csmg/b2c/client/auth_model_check2.jsp?esn=ほげほげ(IMEI) にアクセスすると、最新版の KDZ イメージへの URL が返され、入手が可能(古いものは入手できない)。