环境:
Ubuntu10.04 gcc-4.3 g++-4.3 jdk1.5.0_22
Step1 .Ubuntu Linux (32-bit x86)
1. Tool or packages
$ sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
$ sudo apt-get install valgrind
$ sudo apt-get install lib32readline5-dev
$sudo apt-get install liblzo2-dev
$apt-get install uboot-mkimage
2.从
www.java.sun.com 下载JDK_1.5.0_22.bin,使用export来设置环境变量:
$export JAVA_HOME=/usr/jdk1.5.0_22
$export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
$export PATH=$PATH:$JAVA_HOME/bin
Step2:
因为micro2440的MCU是armv4t,源只能用freerunner的。原生态的git://android.git.kernel.org/platform/manifest.git 的只能支持armv5te。
$repo init -u git://gitorious.org/android-on-freerunner/freerunner_platform_manifest.git
$repo sync
$. ./build/envsetup.sh
$choosecombo
$make
问题1:
提示找不到ETC1/etc1.h导致development/tools/etc1tool编译不过。网上也搜不到相应的解决方案,最后只有把这个etc1tool目录给删掉。
host C++: etc1tool <= development/tools/etc1tool/etc1tool.cpp
development/tools/etc1tool/etc1tool.cpp:22:23: error: ETC1/etc1.h: No such file or directory
development/tools/etc1tool/etc1tool.cpp:136: error: ‘etc1_byte’ has not been declared
development/tools/etc1tool/etc1tool.cpp:137: error: ‘etc1_uint32’ has not been declared
development/tools/etc1tool/etc1tool.cpp:137: error: ‘etc1_uint32’ has not been declared
development/tools/etc1tool/etc1tool.cpp: In function ‘int read_PNG_File(const char*, int**, int*, int*)’:
问题2:
host Prebuilt: ant (out/host/common/obj/JAVA_LIBRARIES/ant_intermediates/javalib.jar)
host Prebuilt: asm-3.1 (out/host/common/obj/JAVA_LIBRARIES/asm-3.1_intermediates/javalib.jar)
host Prebuilt: commons-compress-1.0 (out/host/common/obj/JAVA_LIBRARIES/commons-compress-1.0_intermediates/javalib.jar)
Install: out/host/linux-x86/framework/dumpkey.jar
Install: out/host/linux-x86/framework/emmalib.jar
host Prebuilt: groovy-all-1.6.5 (out/host/common/obj/JAVA_LIBRARIES/groovy-all-1.6.5_intermediates/javalib.jar)
make: *** No rule to make target `out/host/linux-x86/framework/ddmlib.jar', needed by `out/host/common/obj/JAVA_LIBRARIES/hosttestlib_intermediates/javalib.jar'. Stop.
river@river-desktop:~/andorid/framework$ repo init -u git://gitorious.org/android-on-freerunner/freerunner_platform_manifest.git
正在从$repo init -u git://gitorious.org/android-on-freerunner/freerunner_platform_manifest.git -b cupcake的tree中复制etc1tool和javalib之类,可以解决此类问题,但是缺的东西好像真不少。
用这种方法build出来的init不能再arm9上运行,方法应该有问题。
不知道成功编译出在mini2440上eclair文件系统的高手们是怎么做的?
Cupcake的freerunner文件系统,经过修改init.rc,可以起来,adb shell工作始终正常,但LCD老是停留在Logo动画界面。高手们,Any comments?
[ 此帖被jliu66在2010-08-13 20:04重新编辑 ]