第4回Android勉強会に参加してきました

久しくチェックしていなかったAndroidですが、今年の年末ころには実機が登場するかも、ということで勉強再開です。
手始めとして、6/16(月)に秋葉原で開催された勉強会に参加してきました。詳しくはこちら。
http://android.siprop.org/index.php?%CA%D9%B6%AF%B2%F1%2F%C2%E8%BB%CD%B2%F3
内容については既にレポートされている方がおられるようなので割愛しますが、なんというか、講師・参加者ともすごい熱気でした。今回の講師は特に組み込み系の方が多く、AndroidのベースとなっているLinuxやDalvikVMのディープなお話を聞くことができ、GoogleAndroidにかけるパワーを垣間見ることができました。
Armadillo(ARM評価キット)や、Linux Zausrusなど、エミュレータではなく実機で動作するAndroidが見られたのも良かったですね。自宅にもお蔵入りになっているZaurus(C860)があるので、早速試してみようと決意したのでした。。。

Android Zaurusに挑戦

ということで早速挑戦してみましたが、結論から言うとまだ動作していません(涙)
手順は以下の通り:

念のためフラッシュをバックアップ

このへんを参考にしました。
http://journal.mycom.co.jp/special/2005/pdaxrom/index.html
128MのSDでは、ぎりぎり容量が足りませんでした。バックアップには最低でも256Mは必要。

SDをext3でフォーマット

CentOS4のマシンがあったので、そちらで。
SDカードをUSBアダプタ経由で接続すると、SCSIデバイスとして認識されます。デバイス名はdmesgで確認できます。(うちの環境では/dev/sdaでした)
あとは、fdiskでパーティションタイプを83(Linux)にして、mkfs.ext3ファイルシステムを作成するだけです。tune2fsでfsckを止めるのをお忘れなく。
http://www.kajukaju.net/zaurus/ext3.php

Android ZaurusのイメージをSDにコピー

OMEGAMOONさんからイメージを入手します。(こちらではDebianUbuntuなどのZaurusへのポーティングもやってます。)
http://www.omegamoon.com/blog/static.php?page=ZaurusAndroid
手順はC1000と同様でよいらしいのですが、ファイルは一部変更が必要です。C860/C7x0向けの差分はこちら。
http://www.omegamoon.com/blog/index.php?entry=entry080115-083354

Zaurusのフラッシュをアップデート

SDを装着し、以下の手順でZaurusの内蔵フラッシュをアップデートします。

  1. バッテリーとアダプターを外す
  2. 5秒待つ
  3. バッテリーを装着し、バッテリーカバーのスイッチをロックする
  4. アダプターを接続する
  5. OKボタンを押しながら電源ON
  6. 保守メニューが表示されるので、「4.アップデート」->「3.SD」を選択

これでアップデートが始まります。いろいろ聞かれますが、すべてYes(デフォルト)でOKです。
OMEGAMOONさんの手順にも記述がありますが、最後のandroid-root.tar.gzを展開するところでPermission deniedが発生して失敗してしまいます。

android-root.tar.gzを展開

Zaurusを再起動するとAltbootが起動するので、起動メニューから [1]Normal Boot を選択して、内蔵フラッシュから起動します。
その後、

cd /media/card
tar -xzpvf android-root.tar.gz

で、手動でgzを展開します。
環境にもよるみたいですが、私のところでは1時間くらいかかりました。(ハング判別のため、vオプションをお忘れなく・・・)

SDから起動

Zaurusを再起動(フルリセットしたほうがいいらしいです)して、Altbootの起動メニューから [3]Boot SD card を選択します。
これでAndroidが起動可能になるはずですが、私の環境では

Note: No INIT [/sbin/init.sysvinit] found on target
Note: No boot-images found in [/media/card/boot-images]
ERROR: No direct-install or loop-images found. Nothing to do!

と表示され、起動できませんでした。。。

その他

Altbootでの起動後、頻繁にハングが発生します。起動先の選択や、rootの初期パスワードの設定など、ぼーっとしているとハングしてしまいました。
カーソルの点滅が止まったら、ほぼハングしていると思って間違いないです。こうなると、フルリセット以外に対策がありません。
ハングについては、このへんに少し情報があったのですが、自分の知識レベルでは対処方法がわからず断念。
http://www.oesf.org/forum/index.php?showtopic=25292&st=90