2008/12/30

ADP1 で cupcake の merge された master のコードを使う

ADP1で最新の master コードを使う方法です。

"cupcake" development branchに書いてあるように、既にcupcakeの変更点はmasterへマージされていますので、buildするだけで簡単にcupcakeの機能で遊べます。

ちなみに、cupcake にしても、あんまり良いことはないというレポートがでていますので、良く良く考えてから始めましょう (^^;

なお、以下は MacOS X 上で行いました。
  • Get sourceに従い基本のソースを持ってきます。
  • Building For Dreamに従い、local_manifest.xml を書いて、ADP1用の追加コードを持ってきます。
  • 後は make するだけ。暫くするとout/target/product/dreamにイメージが出来ています。
うーん、簡単ですね。果たしてcupcake branch上でのbuildとの格闘は何だったんだ (^^;

出来たコードを書き込んできましょう。

ADP1をfastbootモードで起動します。横のカメラボタンを押しながら電源投入です。詳しくはADP1のRecoverモードとFastbootモードを参照のこと。

ホスト上で fastbootコマンドを起動して書き込みます。
% cd out/host/darwin-x86/bin
% ./fastboot flash system system.img
% ./fastboot flash boot boot.img
% ./fastboot flash userdata userdata.img
% ./fastboot reboot
上手く行かない場合には serial0 と fastboot を言ったり来たりするか、ケーブルを抜き差ししてみましょう。

または、ADP1をrebootしてみるのも手です。ホストからADP1が見えているならば以下のコマンドが使えます。
% ./fastboot reboot-bootloader
ちなみに私の環境では、ホストが過負荷状態の時には上手く書き込みできませんでした。また、付属品でない適当なUSBケーブルを使ったら、そもそも認識すらせずに、非常にはまりました。

さて起動すると「再び SIM がないよ」で、起動できない状態になってしまいます。

ここでもdevice_provisionedを設定すれば良いのですが、cupcakeマージ後は、書き込み先table名が、「system」から「secure」へ変更されていますので、その点に注意が必要です。adb shell で次の通り書き込みましょう。今度はsuが必要ないはず。
% adb shell
# sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO secure (name, value) VALUES ('device_provisioned', 1);"
# sync
# sync
# reboot
彼らの変更の苦闘は、Frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.javaで参照できます。過去コンパチの維持は大変だなぁ (^^;

この状態で ADP1 を試すと、以下の事が分かります。
  1. cupcake branch から進化していて libaudio が動作する。
  2. ソフトウェアキーボードが動く。
  3. カメラを起動すると画面がモノクロになる
  4. Wi-Fi/bluetoothが動かない。
一番目の項目以外は、先のレポート通りです。

さて、ここからがお楽しみですね :-)

0 件のコメント:

コメントを投稿