一、安装 androi 的配置环境: 系统平台:linux5.4 安 装 包 : andriod 的 java 安 装 包 jre-6u29-linux-i586-rpm.bin android-sdk_r14-linux.tgz(虚拟机) 、安装 arm-linux-gcc 交叉编译工具:arm-linux-gcc-4..3.2 下载 andriod 源码 和 android 的 二、路径配置(android 模拟器) $ export PATH=$PATH:编译器所在路径/tools 二、Android 内核编译 1、安装交叉编译器:arm-linux-gcc(解压即可) ,之后设置编译器路径到环境变量中: $ export PATH=$PATH:编译器所在路径/bin 2、启动安装好的 Android 模拟器,通过 adb 得到模拟器中提供的内核配置文件,命令 如下: $ emulator –avd [AVD 名称] 打开模拟器 $ ./adb pull /proc/config.gz 注:配置文件 如果是开发板可以用开发板 中的.Config 文件 3、通过上一步, adb 工具会连接模拟器,并从它里面下载一个叫做 config.gz 的文件到你的当前目录下。将其移动至 kernel(Android 内核)目录,解压该文 件得到 config,将其重命名为.config,这样就可以跳过 make config 而直接得 到 Makefile 所需要的内核配置文件。具体命令如下: $ gunzip config.gz $ mv config .config 4、修改 Makefile: 1) 修改第 180 行左右, ARCH 的值改为 arm,这是修改交叉编译工具的编译架构; 将 将 CROSS_COMPILE 值改为 arm-linux-,这是我们安装的交叉编译工具链的前缀, 修改此处意在告诉 make 在编译的时候要使用该工具链。 2)修改第 560 行左右,将 build id 值注释掉,因为目前版本的 android 内核 不支持该选项。保险起见,加一行代码:LDFLAGS_BUILD_ID=.(=后什么都没有, 好像此处不进行修改亦可,看版本) 5. 在 kernel 目录下执行 make: $ make 除个别警告外编译过程一切顺利, 最终在/kernel/arch/arm/boot 目录下面 生成一个 zImage,即为编译好的内核镜像了。 6. 运行该镜像: $emulator -kernel ~/android/kernel/arch/arm/boot/zImage –avd [AVD 名称] 通过以上步骤,完成内核映像的编译