Android6.0内核移植(2):kernel编译内核
普通步骤是:用来编译整个Android源码
source build/envsetup.sh
lunch sabresd_6dq-user
make -j20
不过每次这样太繁琐,下面来单独编译kernel分析:在上面make之后的日志中
No private recovery resources for TARGET_DEVICE sabresd_6dq
make -C kernel_imx imx_v7_android_defconfig ARCH=arm CROSS_COMPILE=`pwd`/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi- LOADADDR=0x10008000 KCFLAGS=-mno-android //编译生成zImage
make[]: Entering directory `/home/hejin/myandroid/kernel_imx'
#
# configuration written to .config
#
make[]: Leaving directory `/home/hejin/myandroid/kernel_imx'
install -D kernel_imx/.config out/target/product/sabresd_6dq/.config
make -C kernel_imx -j20 uImage ARCH=arm CROSS_COMPILE=`pwd`/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi- LOADADDR=0x10008000 KCFLAGS=-mno-android //编译生成uImage
make[]: Entering directory `/home/hejin/myandroid/kernel_imx'
scripts/kconfig/conf --silentoldconfig Kconfig
make[]: Leaving directory `/home/hejin/myandroid/kernel_imx'
make[]: Entering directory `/home/hejin/myandroid/kernel_imx'
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CC scripts/mod/empty.o
CC scripts/mod/devicetable-offsets.s
MKELF scripts/mod/elfconfig.h
编译:
1. 根据上面导出环境变量
export ARCH=arm
  export CROSS_COMPILE=~/myandroid/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-
2. 编译
make savedefconfig //将当前的.config生成defconfig
make imx_v7_android_defconfig //重新生成.config
echo $CROSS_COMPILE
//make all -j20 >> ~/debug.txt //生成zImage
make -j20 uImage LOADADDR=0x10008000 KCFLAGS=-mno-android //生成uImage,暂时不清楚为何
接着编译bootimg (uImagel 和ramdisk):
source build/envsetup.sh
lunch sabresd_6dq-user
make bootimage
Android6.0内核移植(2):kernel编译内核的更多相关文章
- [No00003A]操作系统Operating Systems 内核级线程Kernel Threads内核级线程实现Create KernelThreads
		开始核心级线程 内核级线程对多核的支持怎么样? 和用户级相比,核心级线程有什么不同? ThreadCreate 是系统调用,内核管理TCB ,内核负责切换线程 如何让切换成型? − − 内核栈,TCB ... 
- Android6.0.1 移植:显示系统(一)--测试framebuffer
		#include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/sta ... 
- 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)
		深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ... 
- [IMX6]Android6.0移植和分析
		0. 知识点 中断(设备树) [IMX6]设备树分析--dts 1. 编译 Android6.0内核移植(1):分析编译日志 Android6.0内核移植(2):kernel编译内核 单独烧录kern ... 
- 编译内核实现iptables防火墙layer7应用层过滤 (三)
		在前面的两篇文章中我们主要讲解了Linux防火墙iptables的原理及配置规则,想博友们也都知道iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以 ... 
- Linux下编译内核配置选项简介
		Code maturity level options代码成熟度选项 Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完 ... 
- Debian中编译内核
		转载: http://blog.163.com/libo_5/blog/static/156968520101016102051580/ http://hi.baidu.com/wg_wang/ite ... 
- 【内核】linux2.6版本内核编译配置选项(二)
		目录 Linux2.6版本内核编译配置选项(一):http://infohacker.blog.51cto.com/6751239/1203633 Linux2.6版本内核编译配置选项(二):http ... 
- Linux内核Makefile文件(翻译自内核手册)
		--译自Linux3.9.5 Kernel Makefiles(内核目录documention/kbuild/makefiles.txt) kbuild(kernel build) 内核编译器 Thi ... 
随机推荐
- jenkins任务构建失败重试插件Naginator Plugin
			jenkins任务失败重新构建插件Naginator Plugin jenkins任务经常会因为一些偶然因素失败,这时重新构建一次就肯能成功:jenkins的Naginator Plugin插件可以重 ... 
- C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件)
			string file =Application.StartupPath+@"\WinFrm_Main.exe";//运行程序位置 public Form1() { Initial ... 
- iOS 添加 Watch OS 1 应用后无法运行 An error was encountered while running (Domain = LaunchServicesError, Code = 0)
			在 iOS 应用基础上我添加了一个 Watch OS 2 应用,运行良好.又加了一个 Watch OS 1 应用,然后就所有 Target 都不能运行了. 运行时说 An error was enco ... 
- Luogu1438 无聊的数列(单点查询)&&加强版(区间查询)
			题目链接:戳我 线段树中差分和前缀和的应用 其实对于加上等差数列的操作我们可以分成这样三步-- update(1,1,n,l,l,k); if(r>l) update(1,1,n,l+1,r,d ... 
- Neutorn LBaaS 原理
			Load Balance as a Service(LBaaS)是 Neutron 提供的一项高级网络服务.LBaaS 允许租户在自己的网络中创建和管理 load balancer. load bal ... 
- “全栈2019”Java第八十九章:接口中能定义内部类吗?
			难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ... 
- robot framework接口测试之一-完整的测试用例
			*** Settings *** Library Collections Library json Library requests Library RequestsLibrary Library H ... 
- [ActionScript3.0] AS3利用ExternalInterface与js通信
			AS3代码,可做文档类; package { import flash.display.Sprite; import flash.events.*; import flash.external.Ext ... 
- mysql 多实例
			linux系统下,先用mysql用户帐号的身份建立数据表:/usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/we ... 
- Oracle中ROWNUM的使用技巧
			ROWNUM是一种伪列,它会根据返回记录生成一个序列化的数字.利用ROWNUM,我们可以生产一些原先难以实现的结果输出,但因为它是伪列的这个特殊性,我们在使用时也需要注意一些事项,不要掉入“陷阱”.下 ... 
