Android构建boot.img(二):kernel的拷贝与打包
上文已经对boot.img其中组成部分之一ramdisk.img做了分析,boot.img另外一个重要的组成部分就是kernel了,
这里所说的kernel,可以只理解为位于out/target/product/tcc8800/中的kernel文件,本文主要分析kernel的拷贝
过程以及如何被打包到boot.img中。经过分析得知位于out/target/product/tcc8800/中的kernel文件其实就是内核
编译后的Image文件,位于kernel/arch/arm/boot目录下,线索就是这个Image文件,经过搜索发现一处定义:
LOCAL_KERNEL := kernel/arch/arm/boot/Image
该定义位于devices/telechips/tcc88xx-common/BoardConfigCommon.mk中,紧接着,在同目录的Android.mk中
有以下一段定义:
PRODUCT_COPY_FILES += \
$(LOCAL_KERNEL):kernel
意在将Image文件拷贝且重命名为kernel,随后的拷贝设置是在build/core/Makefile中完成的,在此略掉。
那么,拷贝完成后,kernel文件如何被打包到boot.img中呢?同样在build/core/Makefile中有以下一段内容:
INTERNAL_BOOTIMAGE_ARGS := ... --kernel $(INSTALLED_KERNEL_TARGET)
现在的问题就是查看 INSTALLED_KERNEL_TARGET的定义,该宏位于build/target/board/Android.mk中:
INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel
内容很明显了,至此,内核Image算是到位了。
另外INSTALL_KERNEL_TARGET定义在build/target/board/Android.mk中有点怪怪的,
build/target/board/Android.mk在main.mk中通过subdir_makefiles抽取得到,并包含进main.mk中
Android构建boot.img(二):kernel的拷贝与打包相关推荐
- Android构建boot.img(一):root目录与ramdisk.img的生成
以TCC88XX为例,当在Android顶层源码目录使用make编译完成后,会生成这样一个目录: out/target/product/tcc8800,该目录内部有我们需要的boot.img和syst ...
- Android构建boot.img:root目录与ramdisk.img的生成
以TCC88XX为例,当在Android顶层源码目录使用make编译完成后,会生成这样一个目录: out/target/product/tcc8800,该目录内部有我们需要的boot.img和syst ...
- Android构建流程——篇二
文章目录 预操作 任务列表 如何查看一个task类 Task1: checkDebugClasspath 1. input/output 2. 如何找到任务实现类 3. 核心类(AppClasspat ...
- Magisk root 原理分析之二 :Android Verified Boot (AVB)
1. Android Verified Boot (AVB) 或称 Verified Boot 2.0 简介 官方解释:验证用户设备上运行的软件完整性.它通常从设备固件的只读部分开始,该部分加载代码并 ...
- AVB校验微观版本:android avb(Android Verified Boot)验证
前辈原文:https://blog.csdn.net/weixin_43836778/article/details/90400147 其实可能有人会说,怎么整这么多重复的,其实不是的.这是为了不断地 ...
- Android OrangePi 4G IOT(二) - MTK更换调试串口
一.Debug LOG串口更改 orangepi 4G iot的默认的log调试串口是在板子后面的,使用起来不方便,之前UART0焊接不好导致焊盘弄坏了,没办法,准备修改成插针的40pin引脚的的UA ...
- Android硬件加速(二)-RenderThread与OpenGL GPU渲染
Android4.0之后,系统默认开启硬件加速来渲染视图,之前,理解Android硬件加速的小白文简单的讲述了硬件加速的简单模型,不过主要针对前半阶段,并没怎么说是如何使用OpenGL.GPU处理数据 ...
- 优酷 Android 构建速度优化实践
作者:苏彦郊(木磊) Android 项目一般使用 gradle 作为构建打包工具,gradle 简洁.动态的功能特性为人津津乐道,同样,构建执行速度缓慢的缺陷也一直为人诟病. 近年来,随着优酷功能特 ...
- Java IO在Android中应用(二):APK加固
Java I/O在Android中应用(二):APK加固套壳 前言(废话) 我,有两把键盘,第一把是Poker III(黑轴),第二把是Poker II(红轴).工作的时候我常用的是红轴的Poker ...
最新文章
- pring Boot与MyBatista的集成
- WinCE5.0中应用程序如何直接写屏
- 如何跟踪session
- Google开源项目风格指南-笔记
- mysql 列级权限授予用户_mysql 用户及权限管理 小结
- LoadRunner如何监控Linux下的系统资源
- c语言简单选择对字符串数组排序,简单了解C语言中直接插入排序与直接选择排序实现...
- NLP应该如何学、如何教?斯坦福大学大牛Dan Jurafsky教授专访
- 五分钟快速入门 Spring Data JPA
- textarea输入区域设置输入文字字数的最大个数
- 对于DEMATEL法的部分理解
- BA无标度网络的仿真实现
- 基于matlab的qpsk与bpsk信号性能比较仿真,基于matlab的QPSK与BPSK信号性能比较仿真...
- HOOK技术原理与实现技术初探
- 惠农网_破译反爬虫_使用代理IP爬取数据(源码)_一蓑烟雨任平生
- 【笔记本双屏外界显示屏分辨率调高】解决方法
- SA8155P QCOM 车载系统介绍
- 绕过 word 文档的密码,对加密文档
- 非线性转化为线性规划的方法
- 哪些公司有计算机财务管理,计算机财务管理汇总.doc
热门文章
- 欧姆龙plc解密实例_3000多套PLC实例程序大合集自动控制系统程序电气系统程序...
- 001_Spring Data JPA
- 032_SpringBoot多环境属性配置文件
- 机器学习视觉图像算法工程师--面试笔试--常考知识点乱找总结
- python实现api server_使用Python的http.server实现一个简易的Web Api对外提供HanLP拼音转换服务...
- 图书查找java_java第三季第一章:查找图书信息实现
- mysql -ss -e_课内资源 - 基于ssm框架和mysql的网上选课系统
- 软考高项之沟通与干系人管理-背诵记忆
- 到网站进过的服务器 命令,进入服务器的命令
- 王者服务器维护7月九号,腾讯手游王者荣耀7月9号9点半版本更新,备受期待的S20赛季它来了...