Linux系统为Red Hat
按步骤来吧!
一,安装Linux JDK
1,网上下载jdk(jdk-6u24-linux-i586.bin),64位的需下载另一个jdk-6u24-linux-x64.bin
2,保存到安装目录下(/usr/local),直接执行./jdk-6u24-linux-i586.bin解压到/usr/local/jdk1.6.0_24目录
3,配置环境变量
#vi /etc/profile
在profile最后面加入
#set java environment
JAVA_HOME=/usr/local/jdk1.6.0_24
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export JAVA_HOME CLASSPATH PATH
4,设置文件链接,进入到/usr/bin目录,执行 ln -s -r /usr/local/jdk1.6.0_24/bin/java
5,测试是否安装成功:执行java -versioin和javac命令看看是否有版本信息输出
二,Android内核编译环境搭建
1,下载交叉编译工具,地址http://www.codesourcery.com/gnu_toolchains/arm/download.html 选择Linux版本的,我下的是arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
2,下载Android源代码,http://code.google.com/p/android/downloads/list 现在好像挂墙了 我下了个linux-2.6.25-android-1.0_r1.tar.gz
3,下载Android linux版本SDK,主要是用到里面的一个配置文件,android-sdk-linux_x86-1.5_r2.zip
4,搭建编译环境,把arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2解压到/usr/local/arm-2008q3下,并将其bin路径添加到PATH中,$ export PATH=$PATH:/usr/local/arm-2008q3/bin
5,将内核源码和SDK解压到/home/android下
三,创建一个avd
1,到Android SDK For Linux目录下,进入tools子目录可以用./android list targets查看当前的android都提供了哪些target具体可见该文章 Android: 如何创建AVD以及选择合适target类型 http://blogold.chinaunix.net/u/20947/showart_1927099.html
2,执行./android create avd -t 2 –n myAVD创建一个avd,这是为了获取编译内核时的一个config文件
3,运行模拟器,././emulator -avd myAVD 在SecureCRT上使用SSH 登录后运行emulator出错:
SDL init failure, reason is: No available video device.
原因是他依赖X11,可以进入图形化界面来运行。
4,运行后,打开另一个终端,进入到android sdk tools目录下,执行./adb pull /proc/config.gz .命令,该命令从模拟器的/proc/config.gz文件考到当前目录下。好了,模拟器暂时用不到了,可以关闭了。
四,编译android内核
1,将config.zg考到android内核源码目录,并解压改成.config文件,
#gunzip config.gz
#mv config .config
2,修改MakeFile文件
2.1修改CROSS_COMPILE变量为:
CROSS_COMPILE=arm-none-eabi- //具体看将的交叉编译工具目录bin下的文件名
2.2 注释掉LDFLAGS_BUILD_ID这个变量:
例如将如下定义:
LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,/$(call ld-option, -Wl$(comma)--build-id,))
改为
#LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,/$(call ld-option, -Wl$(comma)--build-id,))
3,执行make命令等待结果
执行完后在/home/soft/kernel.git/arch/arm/boot下生成一个zImage文件
4,在Android SDK tool目录下执行./emulator @myAVD -kernel /home/soft/kernel.git/arch/arm/boot/zImage命令,
OK, android界面出现了,,,,