2011年6月27日月曜日

[TEST] NTT docomo SC-02C Galaxy S2 自作kernel起動(rooted)

前回までビルドしたKernelは起動はするもののWIFIが使えない状態で、設定からもエラーが確認できました。initramfsにおいたモジュールは実機から取り出したものなので、それがまずいのかもしれません。version magicとかはあわせたんですけどね。

というわけで、モジュール類はすべて新規ビルドしたものと入れ替えることに。initramfsの/lib/modulesのものをすべていれかえてからmake cleanしてビルドしなおしです。
  OBJCOPY arch/arm/boot/zImage
  Kernel: arch/arm/boot/zImage is ready
  Building modules, stage 2.
  MODPOST 6 modules
  CC      drivers/bluetooth/bthid/bthid.mod.o
  LD [M]  drivers/bluetooth/bthid/bthid.ko
  CC      drivers/media/video/gspca/gspca_main.mod.o
  LD [M]  drivers/media/video/gspca/gspca_main.ko
  CC      drivers/net/wireless/bcm4330/dhd.mod.o
  LD [M]  drivers/net/wireless/bcm4330/dhd.ko
  CC      drivers/samsung/j4fs/j4fs.mod.o
  LD [M]  drivers/samsung/j4fs/j4fs.ko
  CC      drivers/samsung/vibetonz/vibrator.mod.o
  LD [M]  drivers/samsung/vibetonz/vibrator.ko
  CC      drivers/scsi/scsi_wait_scan.mod.o
  LD [M]  drivers/scsi/scsi_wait_scan.ko

出来上がったkernelは7Mくらい。heimdallで焼きこみます。heimdallはGalaxyS2対応という1.2.0がリリースされていますので、GUI使っている人はこの機会に入れ替えておきましょう。自分もGUIからアップデートしてます。

で、結果は。OKでした。WIFIもワンセグも問題ありません。insecureなのでadb shell直後にrootが取れます。ここからはSuperuser.apkとsuとbusyboxをいれれば完了ですね。busyboxはいつも言うけどz4root付属のがipv6対応してていい感じです。


su-2.3.6.1-ef-signed.zipを落としてきて展開

adb remount (systemパーティションをrwでリマウント)
adb push Superuser.apk  /system/app
adb push su /system/bin
adb shell
cd /system/bin/
chmod 6755 su

再起動したらOK。ターミナルappとかからsuしてみてダイアログがでればOK。busyboxはz4rootのから抜いたのがあればそれを用意。

adb push /system/bin/
adb shell
cd /system/bin
chmod 6755 busybox
busybox --install -s /system/bin/ (各種コマンドのシンボリックリンク作成)

で完了です。ためしに

busybox ifconfig

でeth0あたりにv6のリンクローカルあたりが見えてればOK。kernel入れ替えてみて明らかに変わったことが1点。はじめに非常にきになっていた、コントラストが強すぎるような現象が改善しました。これは、どういうことなのか調べていないのでわかりませんが。GalaxyS2はシャープネスなどまでsysfsで制御できるようなので、そのパラメータが変化したとか、そういうことなのかもしれません。

いずれにせよ、自分としてはガンマが少し持ち上がった感じで、黒つぶれが改善した用に見えます。これだけでも、kernel入れ替えた価値あるかなと。というわけで、今は明るさ自動調整で使ってます。

さて、次はストックkernelをどうするかだなぁ。もう一台かうかなぁw。

0 コメント:

コメントを投稿