[原]Ubuntu 14.04编译Android Kernel

如何编译android kernel参考官方文档:https://source.android.com/source/building-kernels.html

在Ubuntu 14.04上编译android kernel也没有遇到什么很难的问题。主要分以下几个步骤:

首先查看emulator的cpu型号: adb shell

[email protected]:/ # 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

时间: 2024-12-06 10:29:46

[原]Ubuntu 14.04编译Android Kernel的相关文章

Ubuntu 14.04 编译 Android 4.2.2 for Tiny4412

. . . . . 在学校里是用 Redhat 6.4 编译的 Android 4.2.2 很顺利,把源码包拷贝到笔记本上的 Ubuntu 14.04 上再编译遭遇了各种坑,所以便有了这篇博客记录解决每一个坑的过程.所幸这些坑解决起来还不算复杂,稍微 Google 一下就找到了解决方案. 1.首先是安装 JDK 和 arm-linux-gcc 工具链,这两步只是解压缩之后配置环境变量就行了,所以这里就不再赘述了. 注意 JDK 必须采用 1.6 版本的,据说 android 4.x 都需要使用标

在ubuntu 14.04 编译android 2.3.1 错误解决办法

首先必须降低gcc版本: sudo apt-get install gcc-4.4sudo apt-get install g++-4.4sudo rm -rf /usr/bin/gcc /usr/bin/g++sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gccsudo ln -s /usr/bin/g++-4.4 /usr/bin/g++ ? ? ################ Fix 1 ########################## Error: fr

ubuntu 14.04编译安装xen4.4总结

1. 安装环境 操作系统:ubuntu14.04 xen版本:xen4.4 2. 依赖包的安装 在安装xen之前先进行依赖包的安装,在不停得尝试之后,总结出以下需要安装的依赖包. suso apt-get install gcc make binutils zlib1g-dev python-dev sudo apt-get install libncurses5-dev libcurl4-openssl-dev libx11-dev sudo apt-get install uuid-dev

Ubuntu 14.04 设置Android开发环境

伸展树模版真的好长好长... cut a b c:把第a-1个数伸展到根节点,把第b+1个数伸展到a的右子树,然后把ch[ch[root][1][0]]拿掉,放在剩下的树的第c个节点下. flip a b:把第a-1个数伸展到根节点,把第b+1个数伸展到a的右子树,然后翻转ch[ch[root][1][0]]: 由于会出现操作两边的情况,所以加了两个-1节点. 注意: 1,输出的时候要注意空格和换行. 2,在拿掉子树的时候要注意push_up(); #include<stdio.h> #inc

ubuntu 14.04 编译opencv-3.4.2 报错: /usr/bin/ld: /usr/local/lib/libavformat.a(allformats.o): relocation R_X86_64_32 against `.bss&#39; can not be used when making a shared object; recompile with -fPIC

ubuntu 14.04 编译opencv-3.4.2 报错解决: 错误信息:/usr/bin/ld: /usr/local/lib/libavformat.a(allformats.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC/usr/local/lib/libavformat.a: error adding symbols:

ubuntu 14.04搭建android编译环境

按照我的文章:http://blog.csdn.net/zangcf/article/details/23566999在ubuntu 14.04上搭建android编译环境,编译过程会出以下两个错误: 1,Can't locateSwitch.pm in @INC (you may need to install the Switch module) (@INC contains:/etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl

Ubuntu 16.04编译Android 7.1.2

折腾了很久,终于搞定了这个环境.记录一下. 准备工作: 1. 首先在Ubuntu官网上下载Ubuntu16.04的官方镜像.官网下载地址(这个找了很久,这里可以直接下载ISO镜像):https://launchpad.net/ubuntu/+cdmirrors 2. 建议直接安装到自己硬盘上(推荐双系统),不要在虚拟机上搞,除非你有足够大的SSD.我之前在虚拟机上试过,电脑的性能完全发挥不出来,后来搞了双系统,发现一切都是那么舒服. 3. Android源码下载方法:https://lug.us

Ubuntu 14.04 编译安装 boost 1.58

简介 Boost is a set of libraries for the C++ programming language that provide support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing,regular expressions, and unit testing. It contains

Ubuntu 14.04 编译安装 husky

简介 Husky是一个大数据分布式开发框架,用C++开发,因为粗粒度(coarse-grained)平台(如Spark,Hadoop,Flink)MR耗时太大,然后细粒度(fine-grained)平台(GraphX等)编程难度较大,同时细粒度在数据平台之间转移会很耗时.Husky就是在粗粒度和细粒度之间做一个权衡,在PageRank上,他的性能是Spark的30+倍. Husky主页:http://www.husky-project.com/ 升级gcc到5.3 参见博客 http://www