编译android内核源码

官网:http://source.android.com/source/building-kernels.html

下载地址:https://android.googlesource.com/?format=HTML

一般下载:goldfish版本的

1.建立目录

mkdir kernel

2.解压文件(goldfish-android-goldfish-3.4.tar.gz)到目录下

tar zxvf goldfish-android-goldfish-3.4.tar.gz -C kernel

文件目录结构

3.修改文件夹中的Makefile文件中的编译环境

VIM

# ARCH ?= (SUBARCH)

# CROSS_COMPILE?=
ARCH ?= arm  #体系结构为arm

CROSS_COMPILE     ?= arm-eabi- #交叉编译工具链前缀

或者

$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-

4.导出交叉编译工具目录到$PATH环境变量中去

这步没做,下面报错

export PATH=$PATH:/media/M_hM_=M_M_dM__M_6/Download/442/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin

5.编译 

切换到kernel目录 ( cd kernel)

命令:make goldfish_defconfig   (make goldfish_armv7_defconfig)

2.3版本以后的体系架构是用的是armv7

命令:make -j16

错误1:

/kernel_dir ...../arch/arm: 是一个目录。 停止

修改:

ARCH ?= arm<空格> 

删除空格

错误2:

/bin/sh: 1: arm-eabi-gcc: not found 导出交叉编译工具目录到$PATH环境变量中去

导出交叉编译工具目录到$PATH环境变量中去:export PATH=$PATH:/media/M_hM_=M_M_dM__M_6/Download/442/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin

6.编译成功

7.在模拟器中运行编译好的内核

export PATH=$PATH:/media/M_hM_=M_M_dM__M_6/Download/442/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=/media/M_hM_=M_M_dM__M_6/Download/442/out/target/product/generic

8.在后台中指定内核文件启动模拟器

切换到android源码目录 运行命令:emulator -kernel kernel/arch/arm/boot/zImage &

错误1:


解决:

source build/envsetup.sh

lunch sdk-eng

错误2:黑屏

原因:
2.3版本以后的体系架构是用的是armv7了,

解决:将make goldfish_defconfig改成make goldfish_armv7_defconfig


9.结果:




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值