Saturday, January 30, 2010

Nexus One に custom rom を install する

カスタムROMについては最悪端末を文鎮にしてしまう恐れがあるので自己責任で。

Nexus One用のカスタムROMがいくつか出ているので試すことにします。
ついでに、カーネルの入れ替えもします。

今回試すのは CyanogenMod 5.0 for Nexus One
現時点で beta3 + kernel update (2.6.32-59940)がでています。
http://forum.xda-developers.com/showthread.php?t=623496
* Can be used with or without Google applications
* Latest 2.6.29.6 kernel which supports tethering, vpn, and other modules (cifs, nfs, aufs, fuse)
* Clean shudown/startup system
* NO APPS2SD. I've implemented a hack that will store the dalvik-cache of system apps in /cache, which saves you ~40MB on /data
* Built in USB tether
* Minor graphical enhancements and an excellent wallpaper by Prash
* ARM NEON optimizations (mostly to the pixelflinger library) which have not been included in the stock build yet
* Includes BusyBox, htop, nano, powertop, openvpn, and all engineering commandline utilities
* Multitouch browser using native API and code from Luke Hutchison. More MT integration coming.
* FLAC audio support from Kenny Root
* Phone enhancements from Cytown
* Contacts enhancements from Wysie
* Perform zipalign-on-install of applications
* DeskClock tweaks- longer autosilence and "require unlock" option
* Compcache is available via Spare Parts, but I don't recommend it
* Massive APN list
* Huge collection of ringtones and audio
* All available locales are included thanks to PsychoBoy
* Many other bugfixes and tweaks from AOSP contributors

こんな感じでいろいろ変わります。
普通に使う範囲だと、マルチタッチブラウザとかUSBテザリングあたりが大きいですかね。JITを有効化することによる高速化も大きいかもしれません。

さて。導入には root化あるいはbootloaderのunlockが前提となります。

フォーラムから update-cm-5.0-N1-beta3-signed.zip をダウンロード、純正アプリが必要であれば、gapps-passion-ERD79-signed.zip もダウンロードしてSDカードにコピーしておきます。

まず fastboot でリカバリモードを起動します。
Wipe により設定情報の掃除を行います。あらゆる初期状態に戻ってしまうので注意。

次に Flash zip from sdcardupdate-cm-5.0-N1-beta3-signed.zip を導入、その後必要であれば gapps-passion-ERD79-signed.zip を。
これで reboot すれば導入は終りですが、フォーラムによるとそのままCM5.0b3のカーネルではバッテリーと充電関連に不具合があり、充電できなくなったり、バッテリーが死ぬとの報告がいくつかみられます。

そこでDwang氏がビルドしたカーネル2.6.32 に差し替えます。
カーネルを替えると、無線LANドライバのモジュールがloadができなくなるので、一緒においてある bcm4329.ko もダウンロードしておきます。

fastbootで起動する。
次のコマンドによりカーネルを入れ替える。
$ sudo ./fastboot-linux flash zimage zImage
$ sudo ./fastboot-linux reboot

zImage はダウンロードしたカーネル。
起動したら無線LANが使えなくなってるのを確認。
adbによりダウンロードしておいたbcm4329.koをぶち込みます。
$ ./adb remount
$ ./adb shell cp /system/lib/modules/bcm4329.ko /system/lib/modules/bcm4329.ko.29
$ ./adb push bcm4329.ko /system/lib/modules/
$ ./adb reboot

2行目はバックアップです。
これで無線LANが使えるようになっているはずです。



どうやらこのカーネルはhimemが有効になっているようで、合計メモリが395MB(395,152kB)になります


個人的にカスタムロムを導入する目的は前述のリストにはなく、アドホックネットワークへの参加が大きいです。
その詳細はまた別のエントリで。

ちなみにこのROMはまだベータなのでxdaのフォーラムは随時追っかけておいた方がよさそうです。

No comments: