18
AM335xスタータ キットでAndroid 2012102725PF部勉強会

PF部第25回資料

  • Upload
    daye001

  • View
    1.298

  • Download
    7

Embed Size (px)

DESCRIPTION

AM335xスタータキットでAndroidを動かす手順です。

Citation preview

Page 1: PF部第25回資料

AM335xスタータ キットでAndroid

2012年10月27日 第25回PF部勉強会

Page 2: PF部第25回資料

本日の発表内容 ★自己紹介

★TIから2012年9月に発売された、AM335xスタータキット(Coretex-A8 199ドル)でAndroidを動かす

Page 3: PF部第25回資料

自己紹介 ★東の羊

★twitter @pakuqi

★Blog 電脳羊(http://xiangcai.at.webry.info/)

→Androidが動作するボードの話題が多いです。

BeagleBoard, BeagleBoard xM, PandaBoard, Snowball

★2011年4月にAndroid関連の部署に異動しました

Page 4: PF部第25回資料

きっかけ

研修でPandaBoardとか使おうと思うとDisplayもろもろを接続しないといけないのでかさばるんですよー なので、Armadillo-440に

前回のPF部の中で

Page 5: PF部第25回資料

おもわず

ポチ(*゚∀゚)

Page 6: PF部第25回資料

いつものDigi Key

型番:TMDSSK3358で検索すれば出てきます。 送料込みで1万8千円ちょい 9月30日にポチって、10月3日に到着、本当に即日出荷だったようです。

Page 7: PF部第25回資料

スペック概要

クロックとメモリは少なめ

Page 8: PF部第25回資料

Androidをソースからビルド

ソースからAndroidをビルドする手順です。 手順は、ブログに書いてある通りです。 http://xiangcai.at.webry.info/201210/article_3.html 今回の発表では、概要のみをお話します。

Page 9: PF部第25回資料

手順は 公式サイトの手順が参考になります 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は一通り見ておくことをお勧めします。

Page 10: PF部第25回資料

注意点 基本は公式サイトの記述でいけるのですが、いくつか注意点と、記述ミスがあります。 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

Page 11: PF部第25回資料

ビルド手順概要 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

Page 12: PF部第25回資料

ビルド手順概要 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)ができるます。

Page 13: PF部第25回資料

ビルド手順概要 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) 再実行すれば、ビルド完了です。

Page 14: PF部第25回資料

ビルド手順概要 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の生成が行われます。

Page 15: PF部第25回資料

ビルド手順概要

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 はないので省略

Page 16: PF部第25回資料

ビルド手順概要 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

Page 17: PF部第25回資料

起動

焼いたマイクロSDカードを挿して、電源ON、電源は以下のところにあります。 LEDが点灯するまで、少し長めに押します。

Page 18: PF部第25回資料

まとめ

l スペックが低め、感圧式ではありますが、お得なお値段(199$) l Digi Keyで買えて、手に入り易い

l 液晶一体型で場所を取らない

l ビルドしてSDカードに焼くだけ

個人で楽しんだり、プラットフォーム系の研修に良いのでは? →TIの回し者ではありませんw