Upload
daye001
View
1.298
Download
7
Embed Size (px)
DESCRIPTION
AM335xスタータキットでAndroidを動かす手順です。
Citation preview
AM335xスタータ キットでAndroid
2012年10月27日 第25回PF部勉強会
本日の発表内容 ★自己紹介
★TIから2012年9月に発売された、AM335xスタータキット(Coretex-A8 199ドル)でAndroidを動かす
自己紹介 ★東の羊
★twitter @pakuqi
★Blog 電脳羊(http://xiangcai.at.webry.info/)
→Androidが動作するボードの話題が多いです。
BeagleBoard, BeagleBoard xM, PandaBoard, Snowball
★2011年4月にAndroid関連の部署に異動しました
きっかけ
研修でPandaBoardとか使おうと思うとDisplayもろもろを接続しないといけないのでかさばるんですよー なので、Armadillo-440に
前回のPF部の中で
おもわず
ポチ(*゚∀゚)
いつものDigi Key
型番:TMDSSK3358で検索すれば出てきます。 送料込みで1万8千円ちょい 9月30日にポチって、10月3日に到着、本当に即日出荷だったようです。
スペック概要
クロックとメモリは少なめ
Androidをソースからビルド
ソースからAndroidをビルドする手順です。 手順は、ブログに書いてある通りです。 http://xiangcai.at.webry.info/201210/article_3.html 今回の発表では、概要のみをお話します。
手順は 公式サイトの手順が参考になります http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_ICS_4_0_3_DevKit_3_0_1/index_FDS.html Documents AM335x EVM-SK User Guideをクリックして Build Source Code以降を見れば手順が分かります。 User Guideは一通り見ておくことをお勧めします。
注意点 基本は公式サイトの記述でいけるのですが、いくつか注意点と、記述ミスがあります。 1、ソースコードは「TI Android ICS 4.0.3 DevKitV3.0.1 AM335x EMV-SK Source」 を使って下さい。
2、ビルドエラー ユーザランドビルド時にエラーで止まるのでMakefileにパッチを当てる必要があります (後述) 3、記述ミス u-bootとして使うのは、u-boot. binです。ドキュメントではu-boot.img
ビルド手順概要 1、ソースコードとツールのダウンロード TI Android ICS 4.0.3 DevKitV3.0.1 AM335x EMV-SK Source をダウンロードします。約4.5GB Debug and Development Toolsの「TI Android Utilities」をダウンロードします 2、ソースコードの展開 $ chmod a+x TI-Android-ICS-4.0.3-DevKit-EVM-SK-3.0.1.bin $ ./TI-Android-ICS-4.0.3-DevKit-EVM-SK-3.0.1.bin 3、ツールチェインのパス設定します。 $ cd TI-Android-ICS-4.0.3-DevKit-EVM-SK-3.0.1 $ export PATH=$HOME/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH $ which arm-eabi-gcc
ビルド手順概要 4、ブートローダのビルド $ cd u-boot $ make CROSS_COMPILE=arm-eabi- distclean $ make CROSS_COMPILE=arm-eabi- am335x_evm_config $ make CROSS_COMPILE=arm-eabi- コンパイルが終わると、ディレクトリにMLOとu-boot.binができます いつものx-loader(MLO)とu-boot(u-boot.bin) 5、カーネルのビルド $ make ARCH=arm CROSS_COMPILE=arm-eabi- distclean $ make ARCH=arm CROSS_COMPILE=arm-eabi- am335x_evm_android_defconfig $ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage Image arch/arm/boot/uImage is readyと表示されてカーネル(uImage)ができるます。
ビルド手順概要 6、ユーザランドのビルド $ make TARGET_PRODUCT=am335xevm_sk -j8 OMAPES=4.x 途中でエラーになります。 cp: `/home/oono/rowboat-android/TI-Android-ICS-4.0.3-DevKit-EVM-SK-3.0.1/hardware/ti/sgx/eurasiacon/binary2_omap4430_android_release/target/pvrsrvkm.ko' を stat できません: No such file or directory ぐぐると、あっさりヒット http://processors.wiki.ti.com/index.php/Android_Developer_FAQs パッチを当てます 対象は、TI-Android-ICS-4.0.3-DevKit-EVM-SK-3.0.1/eurasiacon/build/linux2/config/core.mk Webの記述と少し行数が違いますが修正は同じです。 167行目を修正します。 #OUT ?= $(TOP)/eurasiacon/binary2_$(PVR_BUILD_DIR)_$(BUILD) OUT := $(TOP)/eurasiacon/binary2_$(PVR_BUILD_DIR)_$(BUILD) 再実行すれば、ビルド完了です。
ビルド手順概要 7、ルートファイルシステムのまとめ ルートファイルシステムを固めます。 $ cd out/target/product/am335xevm_sk $ mkdir android_rootfs $ cp -r root/* android_rootfs $ cp -r system android_rootfs $ sudo ../../../../build/tools/mktarball.sh ../../../host/linux-x86/bin/fs_get_stats android_rootfs . rootfs rootfs.tar.bz2 rootfs.tar.bz2の生成が行われます。
ビルド手順概要
8、一ヶ所にファイルを集める $ mkdir image_folder $ cp kernel/arch/arm/boot/uImage image_folder $ cp u-boot/u-boot.bin image_folder $ cp u-boot/MLO image_folder $ cp out/target/product/am335xevm_sk/rootfs.tar.bz2 image_folder $ cp Media_clips image_folder Media_clips はないので省略
ビルド手順概要 9、u-bootへパラメータを渡すファイルuEnv.txtを作成します。 bootargs=console=ttyO0,115200n8 androidboot.console=ttyO0 mem=256M root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait init=/init ip=off bootcmd=mmc rescan ; fatload mmc 0 81000000 uImage ; bootm 81000000 uenvcmd=boot 10、SDカードへ書き込み 書き込みツールは最初にダウンロードした「TI Android Utilities」を展開しておきます。 $ export LANG=C →LANGをCにしないとエラーになります。 環境に合わせてデバイスファイルを変えます。 $ sudo ./mkmmc-android.sh /dev/sde MLO u-boot.bin uImage uEnv.txt rootfs.tar.bz2 All data on /dev/sde now will be destroyed! Continue? [y/n] y
起動
焼いたマイクロSDカードを挿して、電源ON、電源は以下のところにあります。 LEDが点灯するまで、少し長めに押します。
まとめ
l スペックが低め、感圧式ではありますが、お得なお値段(199$) l Digi Keyで買えて、手に入り易い
l 液晶一体型で場所を取らない
l ビルドしてSDカードに焼くだけ
個人で楽しんだり、プラットフォーム系の研修に良いのでは? →TIの回し者ではありませんw