xperia mini pro – カスタムROM作りの注意点

どうbootloaderをアンロックするか、どうsystem.imgを取りだすかの詳細は既にネットに日本語の情報がいろいろあるので、ここではあえて書きません。

※あまり指摘されていませんが、bootloaderをアンロックすると、bootloaderのDRM情報が失われるので、TrackIDなどが使えなくなります。TrackIDを使いたい人は気を付けてください。

はじめにはまったのがROMのベースです。はじめこちらのSK17i_4.0.A.2.368_GENERIC_(1244-7088).ftfを使いましたが、どうも中身が違うようなので、SEUSのアップデートで作られるFILE_XXXXXXXXXから取り出しました。他のサイトでも説明されているように、まずはWindows上で

FILE_XXXXXXXXX –(SeusDecrypt.bat)–> FILE_XXXXXXXXX.tgz –(7-zip)–> FILE_XXXXXXXXX.tar –(winrar)–> system_S1-SW-LIVE-883F-PID1-0001-S1-PARTITION-WITH-SPARE.sin –(sin2img)–> system.img

のような順序でsystem.imgを作ります。あとはLinuxでunyaffsを使いsystem.imgを展開して、/systemに好きなように修正を加えていきます。ここで注意しなければいけないのは、アクセス権の設定です。dsixda’s HTC Android Kitchenは適当に修正を加えてもupdate-scriptで最終的にアクセス権をまとめて設定するようにROMを作りますが、system.imgのみを作る場合、あらかじめイメージ内のファイルのアクセス権を設定しておく必要があります。私の場合、今は手動でアクセス権を設定していますが、あとで修正スクリプトを書き換えて、イメージを作る前に自動的に/system以下のアクセス権をまとめて設定するようにしようと思っています。

ちなみにMMSはYokinさんMms.apk.froyo.jakeMod5がそのまま使えます。Conversations.apkは削除しておきましょう。

さて次にはまったのがsu… /binと/xbinの両方に入れておくとfastbootでflashした時固まってしまう… イメージ上でファイル名が競合しているのでしょう。どちらかをシンボリックリンクにしてみるとflashできますが、アンドロイド上でsuが起動しない… と試行錯誤をしていると、Linux上でsuを/system/binにコピーする際にアクセス権が変わっていたのに気がつかないだけでした。ということで、/binにsuを置き、/xbinにシンボリックリンクを作り、イメージを作る前に再度chmod 6755でsuのアクセス権を書き換えたら無事su入りROMの完成となりました。半日かかった… ついでに/system/binの下にcpのリンクをbusyboxへ張っておきました。一々busybox cpと長ったらしくタイプしてられないので…

バッテリメータも修正しました。画面が小さいのでCM7のバッテリメータのように数字の脇に縦にカラーバーが並んでいる方が見やすいと思います。

/systemに修正が終わったら、ここからsystem.imgを作るわけですが、mkfs.yaffs2.x86ではなくmkyaffs2imageを使用して、明示的にチャンクサイズやスペアサイズを指定しました。

明示的といえば、他のサイトではfastbootを使う時に-i 0x0fceとオプションを指定しなくても使えるように書いてありますが、何故か私のところでは常にfastboot -i 0x0fceとしないと使えませんでした…何故だろう。

最後に、/systemの容量は400MBありますが、ソニエリが/system/etc/customization/applicationsや/system/etc/product/applicationsに入れている無駄なアプリを消したりすると大体空き容量が180MB程度になります。これではかなりもったいないので、いつも使ってるアプリを/system/appにコピーしてsystem.imgに入れてみました。flashしてみたところ、あっけなく「デカ過ぎる!」とエラー…orz 気を取り戻して少しずつアプリを減らしていくと、どうもsystem.imgのサイズが256MB以下である必要がある模様。system.imgに入りきらないアプリは、後でadb pushで/system/appに入れればいいだけ。これで/dataにかなり余裕ができました。と言っても、/systemにはまた100MB以上の空き領域があります。しかし、/cacheって100MBも必要なのかな?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: