Software/Android

  • Android for beagleboard - test edition

    使用した機材
    ・beagleboard:revision B5
    ・HostOSはubuntu8.04
    ・ミニAピンUSBケーブル
    ・セルフパワードUSBハブ
    ・USBキーボード
    ・USBether(型番:LUA2-TX、Pegasus/PegasusIIのドライバーで動作)


今回のAndroid portingでは以下のサイトを参照しました。
Android Porting Guide to Beagle Board
http://labs.embinux.org/index.php/Android_Porting_Guide_to_Beagle_Board
注:このサイトは近々抹消される予定だそうです。
以下のサイトがメインになるようです。
Android For OMAP3 with Gstreamer Integration
http://labs.embinux.org/index.php/Android_For_OMAP3_with_Gstreamer_Integration

Android Sorce File 取得

以下の手順でrepo init,repo sync,makeを行います。

$ mkdir ~/beagledroid
$ cd ~/beagledroid
$ repo init -u git://labs.embinux.org/repo/android/platform/beaglemanifest.git/
$ repo sync

注意:repo syncの際、fetch出来なくて止まってしまうことがよくありました。
その時は都度repo syncを行い最後まで取得しました。

Toolchain

以下のサイトを参考にしarm-eabi-4.4.0にバージョンアップしました。
http://labs.embinux.org/index.php/Toolchain_For_Android
上記サイトを参考にrepo sync後arm-eabi-4.4.0にtoolchainを置き換えました。

Android ビルド

repo syncが完了し、Toolchainの変更をした後ビルドを行います。

$ make 

Android RootFile Systemの設定

ビルド完了後、root file systemを一箇所に集めます。

$ cd ~/beagledroid/out/target/product/generic 
$ mkdir RFS
$ cp -a root/* RFS
$ cp -a data/* RFS/data/
$ cp -a system/* RFS/system/ 
$ cd RFS
$ sudo chown -R root.root *
$ sudo chmod -R 777 data system 
  • init.rcの設定
    eth0を有効にするため
    basic network init に
ifup eth0
setprop net.dns1 208.67.222.222

を追加します。

  • default.propの設定
    default.propの末尾に
net.eth0.dns1=208.66.222.222
net.dns1=208.67.222.222

を追加します。

kernelビルド

現状のembinux.orgで配布されているイメージではUSB-etherなどのドライバーが入っていないので
カーネルをビルドしなおします。
PATHを通した状態で、~/beagledroid/kernel/kernel/arch/arm/configs にある
omap3_beagle_android_defconfigを、~/beagledroid/kernel/.configにコピーしリネームします。

$ cd ~/beagledroid/kernel/kernel/arch/arm/configs
$ cp omap3_beagle_android_defconfig ~/beagledroid/kernel/.config
$ make menuconfig 

ここでUSB-etherのドライバを入れます。
今回はPegasus/PegasusIIのドライバーをいれます。

-> DeviceDrivers  -> Network device support (NETDEVICES[=y]) -> USB Network Adapters 

にありますので、チェックをいれます。
設定が完了したらビルドを行います。

$ make CROSS_COMPILE=arm-eabi- ARCH=arm uImage

SDイメージ作成

注:今回はPanasonic製の256MBのSDカードを使用しました。
SDカードをgpartedなどで

1st partision:FAT32 
2nd partision:ext3

でフォーマットします。

  • 1st partision
    http://www.embinux.com/download_beagle.php
    からイメージをダウンロードし、MLO,u-boot.binの順で1st partisionにコピーします。
    またビルドしたuImageもコピーします。
  • 2nd partision
    ビルドしたAndroidをコピーします。
$ cd ~/beagledroid/out/target/product/generic/RFS
$ cp -a * /media/{ext3-partision}

キー配置

デフォルトビルドのままのキー配置は

BACK:ESCキー
MENU:windowsキー
HOME:Endキー(起動後End call behaviourにて設定)

です。

beagleboard起動

イメージを作成したSDカードをbeagleboradに挿入し電源を入れます。
「OMAP3 beagleboard.org #」このプロンプトが表示されるので以下のコマンドを打ちます。

OMAP3 beagleboard.org #setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2 video=omapfb.mode=dvi:1280x720MR-24@50 init=/init rootfstype=ext3 rw rootdelay=1 nohz=off androidboot.console=ttyS2 
OMAP3 beagleboard.org # mmcinit
OMAP3 beagleboard.org # fatload mmc 0 0x80300000 uImage
OMAP3 beagleboard.org # bootm 0x80300000

これで、Androidまで起動します。

制限事項

  • ネットワーク
    usb-etherを接続した際にeth0がDOWNもしくはDHCPが取れていないことがあります。
    その場合は以下のコマンドを入力してみてください。
# netcfg eth0 up
# netcfg eth0 dhcp
  • アプリケーション
    一部のアプリケーションが正しく動作していません。

BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2009-08-20 (木) 15:47:08 (5542d)