首页 > 其他分享 >深入vendor_boot.img文件格式实例解析

深入vendor_boot.img文件格式实例解析

时间:2024-12-04 21:30:56浏览次数:10  
标签:ramdisk 00 vendor addr img 文件格式 uint32 size

以mtk平台为例,分析android源码编译生成的vendor_boot.img的结构。 vendor_boot包括boot.img header、kernel、ramdisk系统。

        vendor_boot的文件头信息具体在lk阶段platform/common/include/bootimg.h可以看到:

 #define VENDOR_BOOT_MAGIC "VNDRBOOT"
 #define VENDOR_BOOT_MAGIC_SIZE 8
 #define VENDOR_BOOT_ARGS_SIZE 2048
 #define VENDOR_BOOT_NAME_SIZE 16


 struct vendor_boot_img_hdr_v4 {
     // Must be VENDOR_BOOT_MAGIC.
    uint8_t magic[VENDOR_BOOT_MAGIC_SIZE];
 
     // Version of the vendor boot image header.
     uint32_t header_version;
 
     uint32_t page_size; /* flash page size we assume */
 
     uint32_t kernel_addr; /* physical load addr */
     uint32_t ramdisk_addr; /* physical load addr */
 
     uint32_t vendor_ramdisk_size; /* size in bytes */
 
     uint8_t cmdline[VENDOR_BOOT_ARGS_SIZE];
 
     uint32_t tags_addr; /* physical addr for kernel tags */
     uint8_t name[VENDOR_BOOT_NAME_SIZE]; /* asciiz product name */
 
     uint32_t header_size;
 
     uint32_t dtb_size; /* size in bytes for DTB image */
     uint64_t dtb_addr; /* physical load address for DTB image */
 
     uint32_t vendor_ramdisk_table_size; /* size in bytes for the vendor ramdisk table */
     uint32_t vendor_ramdisk_table_entry_num; /* number of entries in the vendor ramdisk table */
     uint32_t vendor_ramdisk_table_entry_size; /* size in bytes for a vendor ramdisk table entry */
     uint32_t bootconfig_size; /* size in bytes for the bootconfig section */
 } __attribute__((packed));

 

        结合vendor_boot.img文件(UltraEdit打开)

cf36257256164158af04fce190ff714c.png

        header_version = 0x 00 00 00 04

        page_size = 0x 00 00 10 00(4096-4k)

        kernel_addr = 0x 40 08 00 00

        ramdisk_addr = 0x 66 f0 00 00

        vendor_ramdisk_size = 0x 01 8b 04 cc

021e4324612249bc928ef3336ff7a072.png

        tags_addr = 0x 54 00 00 00

5578f781d4d448c7a039809fd88c3e90.png

        header_size = 0x 00 00 08 50

        dtb_size = 0x 00 02 9f 89

        dtb_addr = 0x 54 00 00 00

总结:通过增加log调试打印验证vendor_boot.img的结构成员变量

 

标签:ramdisk,00,vendor,addr,img,文件格式,uint32,size
From: https://blog.csdn.net/weixin_48175016/article/details/144209287

相关文章

  • img中的src加载失败时如何用默认图片来替换呢?
    在前端开发中,当<img>元素的src属性指定的图片加载失败时,可以使用几种方法来替换为默认图片:1.使用onerror属性:这是最直接和常用的方法。onerror属性会在图片加载失败时触发一个JavaScript事件,你可以在这个事件中将src属性更改为默认图片的路径。<imgsrc="image.jp......
  • linux下简单制作iso,img镜像文件
       解压rpmrpm2cpio*.rpm|cpio-div https://www.cnblogs.com/sztom/p/10184766.html 1.如果你是直接从cd压制iso文件的,执行sudoumount/dev/cdromddif=/dev/cdromof=file.isobs=10242.如果你要把某个文件或者目录压到iso文件中,需要使用mkisofs这个工具。......
  • YOLO系列算法模型训练自构建数据集---用Labelimg进行数据标注(自用反思)
    本篇将回顾前两个月的数据集构建过程,并进行总结反思,同时可为大家做labelimg标注数据集提供一个参考。写这篇文章前两天,准备往之前用labelimg标注完成的数据集中加入新的图片进行打标时,labelimg出现了闪退的问题,但还好在一篇文章中找到了解决方法,特记录并分享这篇参考文章:(以......
  • 前端html img 请求的时候header请求头带token实现参考
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><linkrel="icon"href="/favicon.ico"><metaname="viewport"content="width=device-width,initial-......
  • emwin生成C文件格式的位图数据
    1、打开BmpCvtV6162、点击 【File】->【Open】,选择PNG格式的图片3、点击【File】->【Saveas】,保存类型选择【Cfiles】,点击【保存】4、在弹出的对话框中,选择【Highcolor(565)】,点击【OK】,文件生成完成。......
  • img、input标签它们是行内元素还是块级元素?
    imgandinputarebothinlineelements,buttheybehaveabitlikeinline-blockelements.Let'sbreakdownwhy:HistoricallyInline:Bydefault,bothimgandinputelementsareinline.Thismeanstheyflowwithinthetextcontentofalineandd......
  • 【前端】vue引入tinymce富文本编辑器上传视频自动转img问题
    近期遇到了一个问题,前端项目引入tinymce富文本编辑器后有一个上传视频的需求,可是放入了视频以后,在预览时发现,视频标签未能正确展示,被替换为了img标签找了很多解决办法,都没有解决这个问题,最后找到了一个办法,特此记录。解决办法:1.找到node_modules下tinymce插件里面的media文......
  • Ghostscript 是一个开源的解释器,用于处理和操作 PostScript(PS)和 PDF 文件。它主要用于
    Ghostscript是一个开源的解释器,用于处理和操作PostScript(PS)和PDF文件。它主要用于将这些文件格式转换为其他格式(如图像、PDF、PostScript),或者将它们打印出来。Ghostscript可以作为独立的程序运行,也可以嵌入其他应用程序中,提供打印、渲染和转换功能。为什么使用Ghostscript?......
  • 玩手机检测数据集 YOLO玩手机检测数据集yolo ,10000多张 ,用lableimg标注,标注真实场景高
      yolo玩手机检测YOLO玩手机检测数据集,近一万多张使用lableimg标注软件,标注好的真实场景的高质量图片数据,图片格式为jpg,标签有两种,分别为VOC格式和yolo格式,分别保存在两个文件夹中,可以直接用于YOLO玩手机行为的识别,数据场景丰富,类别名为phone;:YOLO玩手机检测数据集(......
  • Android反编译APK与解析软件包img
    1,Jadx反编译APK下载JadxJADX相当于是apktool+dex2jar+jd-gui的结合体,既能反编译代码也能反编译资源支持的文件有:(apk,dex,jar,class,smali,zip,xapk,aar,arsc,jadx,aab)等。打开之后界面如下,点击打开文件,再选择对应所需要反编译的apk(或者直接拖入apk)等......