[[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のビルド環境手順は以下のサイトを参照ください。~
http://source.android.com/download ~
~
* Android Sorce File 取得 [#zf1fbed3]
以下の手順で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 [#db21f8af]
以下のサイトを参考にしarm-eabi-4.4.0にバージョンアップしました。~
http://labs.embinux.org/index.php/Toolchain_For_Android ~
上記サイトを参考にrepo sync後arm-eabi-4.4.0にtoolchainを置き換えました。~

* Android ビルド [#r67c9aef]
repo syncが完了し、Toolchainの変更をした後ビルドを行います。
 $ make 

* Android RootFile Systemの設定 [#s3024213]
ビルド完了後、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ビルド [#j4e1a7ef]
現状の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イメージ作成 [#a44976e7]
注:今回は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}

* キー配置 [#f3bb6785]
デフォルトビルドのままのキー配置は ~
 BACK:ESCキー
 MENU:windowsキー
 HOME:Endキー(起動後End call behaviourにて設定)
です。~

* beagleboard起動 [#ce9105ff]
イメージを作成した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まで起動します。~

* 制限事項 [#o0fffeaf]
- ネットワーク ~
usb-etherを接続した際にeth0がDOWNもしくはDHCPが取れていないことがあります。~
その場合は以下のコマンドを入力してみてください。~

 # netcfg eth0 up
 # netcfg eth0 dhcp
- アプリケーション ~
一部のアプリケーションが正しく動作していません。~


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