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(设备树二进制文件)及可选的二级加载器等组件。

相关推荐
AI人工智能+电脑小能手10 小时前
【大白话说Java面试题】【Java基础篇】第25题:JDK1.8的新特性有哪些
java·开发语言·后端·面试
likerhood10 小时前
SLF4J: Failed to load class “StaticLoggerBinder“ 解决
java·log4j·maven
开发小程序的之朴10 小时前
基于Go语言的企业级CMS系统架构设计与性能分析——以AnQiCMS为例
开发语言·golang·系统架构
早日退休!!!10 小时前
大模型推理瓶颈七层分析模型
java·服务器·数据库
叶小鸡10 小时前
Java 篇-项目实战-天机学堂(从0到1)-day9
java·开发语言
小短腿的代码世界10 小时前
Qt券商接口封装深度解析:统一API设计与多源适配
开发语言·qt·单元测试
wearegogog12310 小时前
基于Q-learning的栅格地图路径规划MATLAB仿真程序
开发语言·算法·matlab
@#¥&~是乱码鱼啦11 小时前
Spring分层架构:Controller、Service、Mapper数据链路,IOC的真实工作意义
java·spring·架构
xieliyu.11 小时前
Java手搓数据结构:从零模拟实现无头双向非循环链表
java·数据结构·链表
csbysj202011 小时前
Java 条件语句
开发语言