2011年11月23日水曜日

ICS on IS01



動いたっぽい
パッチ : ics.patch
init.rc : ICS111123init.rc
boot.img : ics_boot111123.img
パーミッション変更スクリプト : set_permission.sh

full-userでビルド
out/target/product/generic/system以下全てのファイルを/data/ics/system/にadb push
ics_boot.img、set_permission.shを/data/ics/にadb push
adb shell
cd /data/ics/
./set_permission.sh
flash_image recovery ics_boot.img
sync
reboot recovery

画面の描画がうまくいかない。
surfaceflingerとやらがlogcatで

W/SurfaceFlinger( 1292): ANDROID_WAIT_FOR_FB_SLEEP failed (Bad file number)
W/SurfaceFlinger( 1292): ANDROID_WAIT_FOR_FB_WAKE failed (Bad file number)
W/SurfaceFlinger( 1292): ANDROID_WAIT_FOR_FB_SLEEP failed (Bad file number)
W/SurfaceFlinger( 1292): ANDROID_WAIT_FOR_FB_WAKE failed (Bad file number)
W/SurfaceFlinger( 1292): ANDROID_WAIT_FOR_FB_SLEEP failed (Bad file number)
W/SurfaceFlinger( 1292): ANDROID_WAIT_FOR_FB_WAKE failed (Bad file number)
という感じにエラーを吐きまくってる
このエラーを検索すると
/frameworks/base/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cppにエラーメッセージを出している箇所を発見した
そのソースを見てみると、
…C++わからん
で終了する(ぉ

よくわからないがgrallocが関係してるんじゃないか?
こっからソースを取ってきて入れ替えるといけるんじゃ?

参考: