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

相关推荐
wjs20241 天前
ionic 列表:详解移动端UI设计中的列表组件
开发语言
Merrick1 天前
亲手操作Java抽象语法树
java·后端
初级程序员Kyle1 天前
开始改变第三天 Java并发(1)
java·后端
洲覆1 天前
SQL 性能优化:出现 sql 比较慢怎么办?
开发语言·数据库·sql·mysql
熊小猿1 天前
如何在 Spring Boot 项目中使用 @Slf4j 注解结合 Logback 进行系统日志管理
java·开发语言·spring boot
OKkankan1 天前
模板的进阶
开发语言·数据结构·c++·算法
鼓掌MVP1 天前
Rust Web实战:构建高性能并发工具的艺术
开发语言·前端·rust·异步编程·内存安全·actix-web·高性能web服务
盒马盒马1 天前
Rust:函数与控制流
开发语言·网络·rust
豐儀麟阁贵1 天前
5.4静态变量和静态方法
java·开发语言
枫叶丹41 天前
【Qt开发】容器类控件(二)-> QTabWidget
开发语言·qt