Xperia X10 mini proのkernelを書き換える


Xperia X10 mini/mini pro/X8のkernel部分というのは、いままでは署名の関係で、ソニエリ純正のkernelしか焼けないことになっていました。
それを回避するための方法が発見され、自由にkernelを書き換えることが可能となりました。
(2011/10/22 記載を一部改訂)

焼くための手順は、[Dev] Building kernel の3レス目 にあります。

重大な注意:メーカー保証はなくなります
注意2:文鎮化する危険性があります(といっても文鎮化した話は聞いたことありませんが)
注意3:Xperia X10 mini/mini pro用であって、2011年発売のXperia Mini/Mini Proの手順ではありません。
注意4:失敗しても当方は知りません。
注意5:カスタムkernelはAndroid 2.2もしくは2.3用です。標準のAndroid 2.1では動きません。

さて、手順ですが、上記URLを見ると長々書いてありますが、よくよく読んでみれば「msm7227.7z」をダウンロード、展開して、「msm7227_semc.cmd」を実行するだけ。
後のことは、違う手順でやる場合とか、詳細とかだったりします。

C:\tmp\bootloader>msm7227_semc.cmd
process requires standard 2.x android firmware.
続行するには何かキーを押してください . . .
Getting ROOT rights.
* daemon not running. starting it now *
* daemon started successfully *
1262 KB/s (585731 bytes in 0.453s)
error: protocol fault (no status)
Waiting ...
Removing NAND MPU restrictions via SEMC backdoor. Permanent. Require ROOT rights.
61 KB/s (3087 bytes in 0.049s)
success
Waiting ...
Getting ROOT rights.
Waiting ...
Writing patched semcboot. Two step process
First, we need get access to semcboot area
246 KB/s (8064 bytes in 0.032s)
Second, we need to write semcboot ; )  
1101 KB/s (596916 bytes in 0.529s)
successfully wrote 0003ff00
続行するには何かキーを押してください . . .

C:\tmp\bootloader>

ここで、再度、再起動がかかります。
この再起動は、普段よりながーくSony Ericssonのロゴが表示されます。
3分ぐらいは待ちましょう。

実際、文鎮化したかなぁ?と焦りました。

次にkernelを書き込みます。
必要なのはFlashtool

私の場合、手元にあったX10 Flashing Tool ver 0.2.6を使いました。
これは単純に以前Android 2.1を焼いた際に入手してあったから、というだけの理由です。
別の環境で試したときはver 0.2.9.1で行いました。
(ver0.3は使用できませんが、ver0.5以降は使用できるようです)

カスタムカーネルは何種類かでています。
2011/09/12現在だと2種類
slade87氏のZombie Panic
D4rKn3sSyS氏のD4kernel

2011/10/22時点では以下の4種類があります。
・slade87氏のZombie Panic Kernel
  現時点で一番メジャーなカスタムkernel
・D4rKn3sSyS氏のD4kernel
  一番最初に出てきたが作者がX10 mini proから卒業したので開発停止
・kamarush氏のKrSH
  CM7.1対応をうたっているものでCWM Recovery 5が組み込まれている
  Zombie Panic Kernelと比べると動きが怪しい点がある
・FreeXperiaProjectのFreeXperiaProject CM7.1.0 STABLE 添付のカスタムkernel
  CM7.1用のカスタムkernelが添付されている・・・ことになっているのだが
  いままでまともに動くバージョンがついてきたことがないという・・・
  そのため、kamarush氏のKrSHが出てきたという経緯がある。

この手順を作成した、2011/9/12 23:49時点ではZombie Panic Kernel ver 1.52の方が進んでいるようだったので、そちらを書き込む手順となっています。
2011/10/22時点のお薦めはZombie Panic Kernel ver 1.53で、手順は変わりません。

zipファイル内のftfファイルをflashtoolのfirmwaresディレクトリに置きます。

kernelを焼く前に下準備。
重複するモジュールファイルの除去です。
この手順を忘れるとタッチパネルの動きが変になったりします。

まず、/systemを書き込み可能な状態にします。

# mount -o rw,remount / /system
#

次に除去するファイルの確認

# cd /system/lib/modules
# ls
ls
ax8_smartass.ko    ext4.ko            sdio.ko            twofish_common.ko
dm-crypt.ko        jbd.ko             tiwlan_drv.ko      x8mddi.ko
dm-mod.ko          jbd2.ko            tun.ko             x8oc.ko
ext3.ko            mt.ko              twofish.ko         x8uv.ko
#

除去するファイルについてはカスタムROMによって違うので、それぞれのカスタムROMのスレッドに書かれているのでその通りにしてください。

2011/10/22時点では、GinTonicSE, Flame.E, GingerDXは、ZombiePanicKernel用で、標準kernelを使うには、追加モジュール集をインストールするという形式となっています。
MiniCM7 Pro, MiniCM7 SonyStyleは、標準kernel用で、ZombiePanicKernelを使う場合は、モジュール削除を行う形になります。

2011/9/13にZombie Panic ver 1.52で行った際は、以下のファイルでした。

ax8_smartass.ko  jbd.ko           x8mddi.ko
ext3.ko          jbd2.ko          x8oc.ko
ext4.ko          mt.ko            x8uv.ko

削除するのは怖かったので、oldというディレクトリを作成し、そこに移動させました。

# mkdir /system/lib/modules/old
# mv ファイル名 /system/lib/modules/old
#

その結果、/system/lib/modules ディレクトリには以下のファイルとなりました。

# ls /system/lib/modules
ls /system/lib/modules
dm-crypt.ko        old                tiwlan_drv.ko      twofish.ko
dm-mod.ko          sdio.ko            tun.ko             twofish_common.ko
#

準備が出来たのでFlashtoolでkernelを焼きます。

まず、flashtoolを実行します。

続いて「Flash」ボタンを押します。

「kernel.sin」と「loader.sin」だけが含まれているファイルを選択して「OK」ボタンを押します。
すると以下のウィンドウが交互に表示されます。

指示にあるとおり、USBケーブルを外し、Xperiaの電源を切ります。
そして、バックボタンを押しながら、USBケーブルを挿します。

すると、書き込みが開始されます。

こんな感じで書き込みが行われます。
「Flashing finished」
「Now unplug the device and power it on」と出たら書き込み終了です。

USBケーブルを外し、電源を入れます。

これで、Sony Ericssonロゴではないもので起動してくるはずです。
Zombie Panic v1.52だとこんな画面です。

書き換えてはみたものの、実際の使い心地とかはこれから検証です。
電池消費とかひどくないといいんですが・・・

電池消費については、どちらかというとカスタムROM側の問題が大きかったです。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>