Android6.0内核移植(1):分析编译日志
在下面命令之后产生的编译日志进行分析
source build/envsetup.sh
lunch sabresd_6dq-user
make -j20
============================================
PLATFORM_VERSION_CODENAME=REL //平台
PLATFORM_VERSION=6.0.
TARGET_PRODUCT=sabresd_6dq //目标信息,也就是开发板上的
TARGET_BUILD_VARIANT=user
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a9
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64 //主机信息,也就是当前编译系统的电脑
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.16.--generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=2.1.-ga-rc2
OUT_DIR=out
============================================
including ./abi/cpp/Android.mk ...
including ./art/Android.mk ...
including ./bionic/Android.mk ...
including ./bootable/recovery/Android.mk ...
including ./build/libs/host/Android.mk ...
including ./build/target/board/Android.mk ...
including ./build/target/product/security/Android.mk ...
including ./build/tools/Android.mk ...
。。。
including ./tools/external/fat32lib/Android.mk ...
No private recovery resources for TARGET_DEVICE sabresd_6dq
//编译内核的信息,这里可以看出ARCH,CROSS_COMPILE,最后生成的为uImage
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
for ubootplat in imx6q:mx6qsabresdandroid_config imx6dl:mx6dlsabresdandroid_config imx6q-ldo:mx6qsabresdandroid_config imx6qp:mx6qpsabresdandroid_config; do \
UBOOT_PLATFORM=`echo $ubootplat | cut -d':' -f1`; \
UBOOT_CONFIG=`echo $ubootplat | cut -d':' -f2`; \
echo ; \
echo ; \
//清除uboot
make -C bootable/bootloader/uboot-imx/ distclean ARCH=arm CROSS_COMPILE=`pwd`/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-; \
//配置uboot,就类似于kernel的make menuconfig
make -C bootable/bootloader/uboot-imx/ $UBOOT_CONFIG ARCH=arm CROSS_COMPILE=`pwd`/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-; \
//编译uboot
make -C bootable/bootloader/uboot-imx/ ARCH=arm CROSS_COMPILE=`pwd`/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-; \
install -D bootable/bootloader/uboot-imx/u-boot.imx out/target/product/sabresd_6dq/u-boot-$UBOOT_PLATFORM.imx; \
install -D bootable/bootloader/uboot-imx/u-boot.imx out/target/product/sabresd_6dq/u-boot.imx; \
done make[]: Entering directory `/home/hejin/myandroid/bootable/bootloader/uboot-imx'
Copy: out/target/product/sabresd_6dq/root/fstab.freescale
CLEAN examples/standalone
CLEAN tools
CLEAN tools/lib tools/common
CLEAN scripts/basic
CLEAN scripts/kconfig
CLEAN u-boot u-boot.bin u-boot.imx u-boot.lds u-boot.map u-boot.srec System.map
。。。
HOSTCC tools/mkimage.o
HOSTCC tools/proftool
HOSTCC tools/lib/crc32.o
HOSTCC tools/common/bootm.o
Image Name: Linux-4.1.-g419e1f7-dirty
Created: Tue Feb ::
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: Bytes = 8511.32 kB = 8.31 MB
Load Address:
Entry Point:
Image arch/arm/boot/uImage is ready
make[]: Leaving directory `/home/hejin/myandroid/kernel_imx'
HOSTCC tools/lib/fdtdec_common.o
//编译设备树,跟上面类似
make -C kernel_imx dtbs ARCH=arm CROSS_COMPILE=`pwd`/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi- LOADADDR=0x10008000 KCFLAGS=-mno-android
HOSTCC tools/lib/fdtdec.o
HOSTCC tools/common/image-fit.o
HOSTCC tools/common/image.o
HOSTCC tools/lib/md5.o
HOSTCC tools/lib/sha1.o
Android6.0内核移植(1):分析编译日志的更多相关文章
- Android6.0内核移植(2):kernel编译内核
普通步骤是:用来编译整个Android源码 source build/envsetup.sh lunch sabresd_6dq-user make -j20 不过每次这样太繁琐,下面来单独编译ker ...
- 鸿蒙内核源码分析(编译脚本篇) | 如何防编译环境中的牛皮癣 | 百篇博客分析OpenHarmony源码 | v58.01
百篇博客系列篇.本篇为: v58.xx 鸿蒙内核源码分析(环境脚本篇) | 编译鸿蒙原来如此简单 | 51.c.h.o 本篇用两个脚本完成鸿蒙(L1)的编译环境安装/源码下载/编译过程,让编译,调试鸿 ...
- 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视GCC编译全过程 | 百篇博客分析OpenHarmony源码| v57.01
百篇博客系列篇.本篇为: v57.xx 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视编译全过程 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙 ...
- 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙看这篇或许真的够了 | 百篇博客分析OpenHarmony源码 | v50.06
百篇博客系列篇.本篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉坑指南 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉 ...
- linux-3.0内核移植到fl2440开发板(以s3c2410为模板)
1.新建kernel文件夹,用于存放内核文件 [weishusheng@localhost ~]$ mkdir kernel 2.进入kernel,上传压并解压压缩文件 [weishusheng@lo ...
- linux-3.0内核移植到fl2440开发板(以MINI2440为模板)
我们的fl2440开发板使用的是s3c2440的芯片,与MINI2440十分相似,因此需要改动的地方不多,移植也比较容易. 1.[weishusheng@localhost kernel]$ sudo ...
- Android6.0.1 移植:显示系统(一)--测试framebuffer
#include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/sta ...
- [IMX6]Android6.0移植和分析
0. 知识点 中断(设备树) [IMX6]设备树分析--dts 1. 编译 Android6.0内核移植(1):分析编译日志 Android6.0内核移植(2):kernel编译内核 单独烧录kern ...
- 鸿蒙内核源码分析(忍者ninja篇) | 都忍者了能不快吗 | 百篇博客分析OpenHarmony源码 | v61.02
百篇博客系列篇.本篇为: v61.xx 鸿蒙内核源码分析(忍者ninja篇) | 都忍者了能不快吗 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙 ...
随机推荐
- Dapper.Contrib.Extensions问题
Dapper.Contrib.Extensions问题 Dapper.Extension.1.0.0.1\lib\net45\Dapper.Extension.dll Dapper.Contrib.1 ...
- [USACO17FEB]Why Did the Cow Cross the Road III P(CDQ分治)
题意 两列$n$的排列,相同的数连边,如果一对数有交叉且差的绝对值$>k$,则$++ans$,求$ans$ 题解 可以把每一个数字看成一个三元组$(x,y,z)$,其中$x$表示在第一列的位置, ...
- 深入理解Scala的隐式转换
摘要: 通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码. 使用方式: 1. ...
- 十招谷歌 Google 搜索
十招谷歌搜索 一.或者 OR 二.网址 insite:example.com keyword 三.大约 1.类似查询(记得) ~keyword 2.模糊查询(记得) key*****word 3.模糊 ...
- javascript简要笔记
零. 数据 0. 变量 分为字符串,数字,undefined, null,对象 undefined类型是只声明了变量,但是没赋值 可以使用typeof()函数来查看变量类型 例子1 var ...
- python基础之循环
一.while循环 如果条件成立(true),重复执行相同操作,条件不符合,跳出循环 while 循环条件: 循环操作 (1)while循环示例 例:输入王晓明5门课程的考试成绩,计算平均成绩 i ...
- day 13 课后作业
# -*- coding: utf-8 -*-# @Time : 2019/1/7 18:00# @Author : Endless-cloud# @Site : # @File : day 13 课 ...
- C#-WebForm-css box-shadow 给边框添加阴影效果
box-shadow介绍 css3可以使用 box-shadow 属性轻松地为元素添加阴影效果,box-shadow可以设定多组效果,每组参数值以逗号分隔. 语法: box-shadow:x-shad ...
- secureCRT scripts as vbs
gdb multithread debug. lsusb.py # $language = "VBScript" # $interface = "1.0" Su ...
- Vagrant 创建虚拟机
Vagrant 创建虚拟机 1. 下载相关软件 虚拟机软件:vmware virtualbox Vagrant 软件:vagrant cd /tmpwget http://download.vir ...