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 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙 ...
随机推荐
- 在一般处理程序里面读写session
1.引用命名空间 using System.Web.SessionState; 2.继承IRequiresSessionState接口 3.利用httpcontext类读写即可 context.ses ...
- maven多模块启动required a bean of type com.xxx.xxx.service that could not be found.
Description: Field testService in com.xxx.xxx.api.controller.TestController required a bean of type ...
- C#基础笔记(第十五天)
1.Directory//File 文件 Path 路径 FileStream StreamReader StreamWriter 流 Directory 文件夹 目录 //创建文件夹 Directo ...
- AndroidSDK下载
C:\Windows\System32\drivers\etc\hosts74.125.237.1 dl-ssl.google.com
- 【ocp-12c】最新Oracle OCP-071考试题库(46题)
46.(10-4) choose two: Examine the data in the CUST_NAME column of the CUSTOMERS table. CUST_NAME --- ...
- “全栈2019”Java异常第十七章:Error详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- “全栈2019”Java第一百零九章:匿名内部类实现唯一抽象类或接口
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- lamp-linux2
LAMP编程之Linux(2) 一.进阶指令 1.du指令 作用:du表示directory used,显示出目录所占的磁盘空间大小的情况. 语法:#du -sh 目录路径 选项说明: -s:表示su ...
- elasticsearch 5.6.4自动创建索引与mapping映射关系 +Java语言
由于业务上的需求 ,最近在研究elasticsearch的相关知识 ,在网上查略了大部分资料 ,基本上对elasticsearch的数据增删改都没有太大问题 ,这里就不做总结了 .但是,在网上始终没 ...
- [ActionScript3.0] 使用FileReference处理单个文件的上载
package { import flash.display.SimpleButton; import flash.display.Sprite; import flash.errors.Illega ...