[電話] XPERIA Mini Pro SK17i kernel build

2011年8月11日 by
カテゴリ: Android, 電話 

完全に自分用の覚書なのであんまり他人様が分かるようには書いてません。あしからず。

公式カーネルのビルド方法

How to build a Linux kernel and flash it to the phone — Developer World

ファイルは適宜最新のものをダウンロードしてきて使います。

SK17i の場合は mango なのでこんな感じで。黄色い部分が環境によって違うので変えてくださいね!

  1. ARCH=arm make semc_mango_defconfig
  2. ARCH=arm CROSS_COMPILE=/opt/arm-2010q1/bin/arm-none-eabi- make

基本はこんだけ!

実に簡単に zImage が ./kernel/arch/arm/boot/zImage にできます。素ビルド簡単すぎワロタ

あとは menuconfig で適宜に設定変えて使いたい機能を有効にするとかでいいんじゃないすか?

  1. ARCH=arm make menuconfig

あとはオーバークロックに関しては arc と CPU とか一緒なので↓から丸パクリさせて頂きます。置き換えるときは日付に注意。古いと再ビルド時に困ります。

[KERNEL][OC] Arc Stock O-C Kernel 1.86GHz For 3.0.1.A.0.145 & 1.65Ghz For 4.0.A.2.368 – xda-deve

さて、ここからが問題。

zImage を fastboot flash boot できませんので、ramdisk.img とセットで mkbootimg して boot.img を作らなくちゃいけません。黄色は zImage の場所で、緑は ramdisk.img の場所で、オレンジは boot.img の出力先。ファイル名は適宜自分の環境に合わせてください。

  1. mkbootimg –base 0x00200000 –kernel kernel/arch/arm/boot/zImage –ramdisk ramdisk.img -o boot.img

公式によるとこんな感じですが、 ramdisk.img なんてどこにあんだよーみたいな

正解は SEUS でできた例の FILE_以下略の 15MB ほどのファイルをデコード→解凍して出てくる 4.3MB くらいの kernel_(中略).sin みたいなファイルを SIN2IMG.EXE で img にしたのが boot.bin の正体みたいなもんでして、コレを Linux 的な環境で unpack-bootimg.pl というスクリプトを使って分解して出来たファイル名-ramdisk.cpio.gz がそれ。

同時にファイル名-ramdisk ってディレクトリが出来てるので、default.prop の ro.secure=0 にするとか、中身をちょいちょいして mkbootfs を使って ramdisk.img に固め直して mkbootimg すれば良いはずです。

mkbootfs はうっかり実行すると標準出力にずらずらバイナリを流すので忘れずにリダイレクトしてファイルに落としてください。

  1. mkbootfs ./ファイル名-ramdisk | gzip -9 > ファイル名-ramdisk2.gz

で、出来上がった boot.img を端末に焼くには fastboot を使います。例によって電源切ってボリューム上ボタン押しながら PC に繋いでください。

  1. fastboot flash boot boot.img
  2. fastboot reboot

これでソニエリロゴが出て起動したら OK です。USB 繋がってたら充電モードで立ち上がる気もしますが、充電モードで起動するってことはたぶん大丈夫なので、慌てずに引っこ抜いて普通に起動させてください。

不幸にも起動しなかった場合の対処法は、先ほどの kernel_(中略).sin を直接 fastboot flash boot kernel_(中略).sin するだけで復活します。別に SIN2IMG したあとのファイルでもいいですけど。

fastboot 使えると失敗しても復旧がラクチンなのが素敵!

ソースは arc と一緒ですので、そこらへんの arc 用の CWM リカバリーとか入ってるカーネルをちょいちょいして丸パクリすると比較的簡単に対応できそうな気がします。

コメント

3 件のコメント on [電話] XPERIA Mini Pro SK17i kernel build

    […] ビルド方法は再三申し上げてる通り。 [電話] XPERIA Mini Pro SK17i kernel build – 8796.jp管理日誌 […]

    […] んじゃま、とりあえず以前 SK17i でやったのの繰り返しになりますが […]

    […] kernel の build はいつものコレ [電話] XPERIA Mini Pro SK17i kernel build – 8796.jp管理日誌 […]