普通步骤是:用来编译整个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编译内核的更多相关文章

  1. [No00003A]操作系统Operating Systems 内核级线程Kernel Threads内核级线程实现Create KernelThreads

    开始核心级线程 内核级线程对多核的支持怎么样? 和用户级相比,核心级线程有什么不同? ThreadCreate 是系统调用,内核管理TCB ,内核负责切换线程 如何让切换成型? − − 内核栈,TCB ...

  2. Android6.0.1 移植:显示系统(一)--测试framebuffer

    #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/sta ...

  3. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

  4. [IMX6]Android6.0移植和分析

    0. 知识点 中断(设备树) [IMX6]设备树分析--dts 1. 编译 Android6.0内核移植(1):分析编译日志 Android6.0内核移植(2):kernel编译内核 单独烧录kern ...

  5. 编译内核实现iptables防火墙layer7应用层过滤 (三)

    在前面的两篇文章中我们主要讲解了Linux防火墙iptables的原理及配置规则,想博友们也都知道iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以 ...

  6. Linux下编译内核配置选项简介

    Code maturity level options代码成熟度选项 Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完 ...

  7. Debian中编译内核

    转载: http://blog.163.com/libo_5/blog/static/156968520101016102051580/ http://hi.baidu.com/wg_wang/ite ...

  8. 【内核】linux2.6版本内核编译配置选项(二)

    目录 Linux2.6版本内核编译配置选项(一):http://infohacker.blog.51cto.com/6751239/1203633 Linux2.6版本内核编译配置选项(二):http ...

  9. Linux内核Makefile文件(翻译自内核手册)

    --译自Linux3.9.5 Kernel Makefiles(内核目录documention/kbuild/makefiles.txt) kbuild(kernel build) 内核编译器 Thi ...

随机推荐

  1. 对virtual虚方法的理解

    对virtual虚方法的理解 https://www.cnblogs.com/u3ddjw/p/6676485.html

  2. ADO.NET批量添加数据到SQL Server—BulkCopy使用指南

    BulkCopy位于System.Data.SqlClient命名空间,允许你使用其他源的数据有效地批量加载 SQL Server 表. 属性: BatchSize :每个批处理中的行数. 在每个批处 ...

  3. sharepoint database 操作

    select *from [dbo].[AllLists] where tp_Title='Pages' and tp_WebId='90511126-E1FE-4E4C-8DDF-74DFC89E8 ...

  4. 没有xaml的WPF

    出于强迫症,我查了一下文档弄明白了WPF脱离xaml应该怎么搞.当然其实本质是为了MaxScript里使用做准备. using System; using System.Windows; using ...

  5. TestNG参数化之@DataProvider传参

    @parameters适合传递简单少量参数,复杂参数一般使用@DataProvider传递 @DataProvider语法: @DataProvider(name = "dataprovid ...

  6. iOS 内嵌 View 的响应

    遇到一个问题就是我有一个 UITextField,点击后不能编辑而是会显示一个自定义的 dialog. 但发现问题是,UITextField 的对点击事件的反应非常吃顿,有时候好使有时候不好使. 后来 ...

  7. ceph 移除 osd

    1:从crush中移除节点ceph osd crush remove osd.0 2:删除节点ceph osd rm osd.0 3:删除节点认证(不删除编号会占住)ceph auth del osd ...

  8. pyppeteer初尝滋味

    最近在爬几个电商平台网站用的selenium一登录就会有验证,目前这些网站对selenium检测很严格 因为不少大网站有对selenium的js监测机制.比如navigator.webdriver,n ...

  9. “全栈2019”Java第一百零八章:匿名内部类与final关键字

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  10. 操作日期时间类 Calendar类

    使用Calendar类可以直接创建Calendar的子类GregorianCalendar  来直接实例化, GregorianCalendar calendar = new GregorianCal ...