玩轉pandaboard之初體驗

剛拿到pandaboard, 照例對於這些開發板, 需要先準備需要用到的開發環境.


下面以linaro上對於pandaboard的支持爲例, 記錄下如何把linaro提供的最新的android系統在板子上跑起來.

環境準備

    1. 下載所需的資源及代碼
      參照https://wiki.linaro.org/Platform/Android/GetSource

    2. 編譯源代碼
      export PATH=$PATH:[your path to toolchain]/android-toolchain-eabi/bin:/[your linaro android src path]/out/target/product/pandaboard/obj/u-boot/tools
      這兩個path,一個是爲了找到對應的linaro toolchain,一個是用來找到編譯過程要用到的mkimage(由u-boot中生成)

      make TARGET_PRODUCT=pandaboard TARGET_TOOLS_PREFIX=../android-toolchain-eabi/bin/arm-linux-androideabi- HOST_CC=gcc-4.5 HOST_CXX=g++-4.5 HOST_CPP=cpp-4.5 boottarball systemtarball userdatatarball

      updated 2012/04/25: 這裏注意,雖然這裏的compile指定到的是linaro提供的arm-linux-androideabi-, 但是編譯其中的u-boot的時候,從uboot.mk中可以看出,它使用的是系統中指定的arm-none-eabi-系列的toolchain, 在我的機器中使用的Codesourcery提供的toolchain。 大家可以單獨編譯u-boot, 如果使用linaro的android-toolchain,則彙編失敗:)

      以下很重要, 參照最新的11.12的release, 還需要動手爲上步製作好的文件系統的system區加一些panda所用到的專有的圖形庫,(如果使用11.10的代碼來編譯, 就可以略過這一步了)
      參見: http://releases.linaro.org/11.12/android/leb-panda/
      $ wget http://releases.linaro.org/11.12/android/images/landing-panda/install-binaries.sh
      $ chmod a+x install-binaries.sh
      $ ./install-binaries.sh /dev/sdX2 "device node of system partition"

      這個腳本中用到了一些特殊的so, 如下: (這些都是pandaboard上面用的圖形芯片供應商提供的庫, 在linaro的代碼中是沒有包含的, 但是在TI的pandaboard的git 庫中就有pandaboard/android_platform/device/ti/proprietary-open/graphics/omap4/system/vendor/lib)
      vendor/imgtec/panda/proprietary/pvrsrvinit
      vendor/imgtec/panda/proprietary/libEGL_POWERVR_SGX540_120.so
      vendor/imgtec/panda/proprietary/libGLESv1_CM_POWERVR_SGX540_120.so
      vendor/imgtec/panda/proprietary/libGLESv2_POWERVR_SGX540_120.so
      vendor/imgtec/panda/proprietary/gralloc.omap4.so
      vendor/imgtec/panda/proprietary/libglslcompiler.so
      vendor/imgtec/panda/proprietary/libIMGegl.so
      vendor/imgtec/panda/proprietary/libpvr2d.so
      vendor/imgtec/panda/proprietary/libpvrANDROID_WSEGL.so
      vendor/imgtec/panda/proprietary/libPVRScopeServices.so
      vendor/imgtec/panda/proprietary/libsrv_init.so
      vendor/imgtec/panda/proprietary/libsrv_um.so
      vendor/imgtec/panda/proprietary/libusc.so

      這裏還需要注意, linaro對AOSP的build體系做了必要的擴充, 主要是支持MLO, u-boot, kernel及一些硬件相關的編譯, 具體的相關配置, 參照devices/linaro/目錄下的common和pandaboard目錄.

    3. 製作rootfs
      ./linaro-android-media-create --mmc /dev/sdf --dev panda --system ../../android_platform_4.0.1/out/target/product/pandaboard/system.tar.bz2 --userdata ../../android_platform_4.0.1/out/target/product/pandaboard/userdata.tar.bz2 --boot ../../android_platform_4.0.1/out/target/product/pandaboard/boot.tar.bz2

      關於linaro-android-media-create工具, 還是比較方便的, 所以對它進行了下分析,參見<玩轉pandaboard之rootfs製作及啓動>

其它,

購買pandaboard

能從國外購買是最好了,省錢:)

國內的同學也能通過chipsee這個ti在國內的官方合作伙伴來買嘍. 具體各位自己上網查一下即可.


驗證板子

沒什麼多說的, 拿到chipsee附送的dvd, 按照說明做好一個sd的image, 插入板子, 上電,即可正常啓動.


pandaboard的相關資源

http://www.pandaboard.org

https://wiki.linaro.org/Platform/Android


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章