已经下载并运行了Angstrom、0xdroid以及rowboat几个版本到beagleboard上试运行了,现在开始着手Android源码的编译,从上层转型到底层,很多东西都没有头绪,感觉东西很杂,只能慢慢摸索。
Android代码下载的是Froyo 2.2版本的,直接make,出现错误提示:
You are attempting to build on a 32-bit system.
Only 64-bit build environments are supported beyond froyo/2.2
查找资料,确定下面的修改步骤(-表示删除行,+表示添加行):
1、修改build/core目录下的main.mk文件,修改策略为:
ifeq ($(BUILD_OS),linux)
build_arch := $(shell uname -m)
-ifneq (64,$(findstring 64,$(build_arch)))
+ifneq (i686,$(findstring i686,$(build_arch)))
$(warning ************************************************************)
$(warning You are attempting to build on a 32-bit system.)
$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
2、修改下列文件:
/external/clearsilver/cgi/Android.mk
/external/clearsilver/cs/Android.mk
/external/clearsilver/java-jni/Android.mk
/external/clearsilver/util/Android.mk
4个文件的修改策略相同,为:
# This forces a 64-bit build for Java6
-LOCAL_CFLAGS += -m64
-LOCAL_LDFLAGS += -m64
+LOCAL_CFLAGS += -m32
+LOCAL_LDFLAGS += -m32
接下来的编译可能会遇到很多因为缺少相应模块而产生的错误,请首先安装下列软件模块:
bison
jdk6
g++ (build-essential)
zlib1g-dev
flex
libncurses-dev
gperf
然后,就是make之后漫长的等待...