代码改变世界

[原]Ubuntu 14.04编译Android Kernel

  雪夜&流星  阅读(1854)  评论(0编辑  收藏  举报
如何编译android kernel参考官方文档:https://source.android.com/source/building-kernels.html
 
在Ubuntu 14.04上编译android kernel也没有遇到什么很难的问题。主要分以下几个步骤:
 
首先查看emulator的cpu型号: adb shell
root@generic:/ # cat /proc/cpuinfo 
Processor : ARMv7 Processor rev 0 (v7l)
BogoMIPS : 378.47
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc08
CPU revision : 0

Hardware : Goldfish
Revision : 0000
Serial : 0000000000000000
 
1、下载Android内核源代码:
/data/data/Android$ mkdir kernel
/data/data/Android$ cd kernel
/data/data/Android/kernel$ git clone https://android.googlesource.com/kernel/goldfish.git
/data/data/Android/kernel/goldfish$ git branch -a
/data/data/Android/kernel/goldfish$ git checkout -b android-goldfish-3.4 remotes/origin/android-goldfish-3.4
 
2、设置环境变量:
/data/data/Android/kernel/goldfish$ export ARCH=arm
/data/data/Android/kernel/goldfish$ export SUBARCH=arm 
/data/data/Android/kernel/goldfish$ export CROSS_COMPILE=arm-eabi-
 
 
 
3、将交叉编译工具添加到PATH :
/data/data/Android/kernel/goldfish$ export PATH=$PATH:/data/data/Android/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin
 
4、修改 硬件配置文件goldfish_defconfig(注:arm v5则为goldfish_defconfig, arm v7则为goldfish_armv7_defconfig):
/data/data/Android/kernel/goldfish$ make goldfish_armv7_defconfig
 
5、执行编译:
/data/data/Android/kernel/goldfish$ make
 
6、编译成功:
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
 
 
注意:标红的地方特别需要注意两者需要一致,否则会导致启动模拟器时一直黑屏!
如何让模拟器使用编译好的kernel,参考另一片文章:http://www.cnblogs.com/tanlon/p/4279157.html
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2012-02-07 我开博的这一年
点击右上角即可分享
微信分享提示