Android14内核调试 - boot & vendor_boot

boot.img 和 vendor_boot.img 均为 Android 系统重要的启动镜像文件,其主要差异如下:

  • 出现时间不同 :
    • boot.img:是 Android 系统一直以来存在的核心启动镜像,自早期版本便用于设备的启动流程。
    • vendor_boot.img:其是 Android 9.0(Pie)及更高版本引入的新镜像文件,主要为适配新架构及功能需求而生。
  • 承担的功能不同 :
    • boot.img:负责 Android 系统基础启动工作,为系统启动及运行供应基础环境。其包含 Linux 内核,掌控设备硬件操作、内存管理及进程调度等;还常带有 ramdisk(内存磁盘),作为临时文件系统存储启动必需的文件、脚本,并辅助完成早期初始化;同时也会包含传递给内核的命令行参数等其他元数据。
    • vendor_boot.img:主要加载供应商提供的驱动程序、固件等,以确保设备硬件可正常运转。它能让供应商灵活管理与硬件强相关的启动逻辑,避免干扰 boot.img 中的通用启动流程。
  • 更新方式不同 :
    • boot.img:其更新常涉及系统核心功能调整或内核升级等,与 system 分区等存在紧密关联,更新时需严格校验兼容性,是系统更新的关键部分,常需和其他镜像配合更新以防启动问题。
    • vendor_boot.img:其可支持供应商独立更新硬件相关启动组件。特别在 A/B 更新架构及动态分区环境里,供应商能在不改动 boot.img 的前提下更新自有组件,加快迭代速度,简化维护流程,降低因更新硬件启动组件致使系统启动故障的风险。

另外,vendor_boot.img 的结构与 boot.img 类似,通常包含 vendor boot header、vendor ramdisk、vendor 相关的 DTB(设备树二进制文件)及可选的二级加载器等组件。

相关推荐
云水初8 小时前
【agent篇】RAG Agent避坑指南(附高级RAG Agent汇总)
开发语言·笔记·python·学习·langchain·agent·rag
Littlehero_1218 小时前
QT自定义控件之水泥厂组态(源码开源)
开发语言·qt
辛苦才能8 小时前
C++ 哈希表深度解析:删除为什么必须打标记,负载因子为什么卡 0.7
开发语言·数据结构·c++·算法
随风爱学习8 小时前
JAVA学习之异常
java
m0_639906948 小时前
HashMap:哈希扰动、扩容源码、红黑树转换、并发问题
java·算法·哈希算法
miller-tsunami8 小时前
STL简介&string相关知识点
开发语言·c++·string
神魔皆以血嗜8 小时前
Java 存储金额
java·后端
半摆烂日常9 小时前
手机表单的左滑操作:触摸事件的处理细节
大数据·开发语言·人工智能·智能手机·https·c#
星夜离尘569 小时前
MATLAB滑动RMS如何接报警:窗口未满和缺样不能当成正常
开发语言·matlab
SL_staff9 小时前
周报越厚问题越拖?用结构化执行机制让周报回归决策价值
java·spring cloud·开源