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

相关推荐
努力的lpp2 小时前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
菜鸟~noob2332 小时前
【电子战】第03篇:CFAR(恒虚警)处理【含matlab代码】
开发语言·matlab
lhldsg3 小时前
全民健身解决方案小程序开发:从0到1的技术实战
java·数据库·需求分析
jason成都3 小时前
Spring WebFlux 适配达梦新方案|dm‑r2dbc:Netty 异步传输的实验性 R2DBC 驱动
java·后端·spring
泡海椒3 小时前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
hqyjzsb3 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
辰烨chenye3 小时前
LeetCode Hot 100 题解 · 二分篇
java·算法·leetcode
小羊没烦恼!4 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
Keven_114 小时前
算法札记:ACM适用的很骚的C++语法(持续更新)
开发语言·c++
脉动数据行情15 小时前
C# 实现德指 DAX 期货 WebSocket 实时行情监听
开发语言·websocket·c#