RedHat Enterprise Linux 6上Android内核调试平台搭建步骤


RedHat Enterprise Linux 6上Android内核调试平台搭建,前提是java SDK已经装好,系统有可能自带。java -version命令检查


1. 下载交叉编译工具,地址http://www.codesourcery.com/gnu_toolchains/arm/download.html 选择Linux版本的,
   我的是 arm-2011.03-42-arm-none-eabi-i686-pc-linux-gnu.tar.bz2


2. 下载Android内核源代码,地址http://code.google.com/p/android/downloads/list进去之后点击一下all download,
    我下了个 linux-2.6.25-android-1.0_r1.tar.gz


3. 下载Android linux版本SDK,主要是用到里面的一个配置文件,地址http://developer.android.com/sdk/index.html。
    我下载的是android-sdk_r12-linux_x86.tgz


4. 解压所下载的3个包
   mkdir /opt/Android
   tar xvf arm-2011.03-42-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 -C /opt/Android/
   tar xvf linux-2.6.25-android-1.0_r1.tar.gz -C /opt/Android/
   tar xvf android-sdk_r12-linux_x86.tgz -C /opt/Android/


5. 设置环境变量
   vim /etc/profile在该文件末尾加上
   mypath_1=/opt/Android/android-sdk-linux_x86/tools
   mypath_2=/opt/Android/arm-2011.03/bin
   mypath_3=/opt/Android/android-sdk-linux_x86/platform-tools   (这个文件刚开始是没有的,等第六步结束之后就有了)
   export PATH=$mypath_1:$mypath_2:$mypath_3:$PATH
   保存退出 执行source /etc/profile使当前环境变量在当前终端有效


6. 执行android命令,弹出一个窗口(Android SDK and AVD Manager),然后点击窗口中左边的Available packages,之后在
   右边的窗口中点击Android Repository,下一步选择一个版本的SDK Platform Android ...(我选择2.2版本的),下一步点击
   窗口右下角的Install Selected,之后是同意。此时需要等待下载完成。


7. 完成下载后,关闭窗口。然后重新执行android命令,选择Virtual devices,点击New创建AVD
   在弹出的窗口中填写一些信息(我的是Name: Cyrnic  Target: Android 2.2 - API Level 8  Skin: Resolution 600 * 800
   Hardware:可以自己添加),完成点击Create AVD按钮


8. 执行模拟器
   emulator -avd Cyrnic &
   如果之前的一切正常,模拟器就可以开启,等待完全开启之后在终端执行
   adb pull /proc/config.gz /opt/Android/  将模拟器中的config.gz文件拷贝到主机的/opt/Android目录中
   cd /opt/Android
   gzip -d config.gz
   cp config kernel.git/


9. 修改内核Makefile
   cd /opt/Android/kernel.git

   vim Makefile 

       将SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
                 -e s/arm.*/arm/ -e s/sa110/arm/ \
                 -e s/s390x/s390/ -e s/parisc64/parisc/ \
                 -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
                 -e s/sh.*/sh/ ) 这些注释掉 然后改为 SUBARCH := arm

       将CROSS_COMPILE   ?= arm-eabi-  这行改为  CROSS_COMPILE   ?= arm-none-eabi-
       
   保存退出


   执行make  (make过程中可能会出现要重新配置内核的选项,此时一直回车就可以了)
   编译成功后会在/opt/Android/kernel.git/arch/arm/boot中生成zImage文件


10. 关闭之前打开的模拟器,用新的内核执行模拟器
   emulator -avd Cynric -kernel /opt/Android/kernel.git/arch/arm/boot/zImage &
   不出问题会执行成功,已验证通过

相关内容