你可以将U-Boot FIT Image分区回其组件吗?

时间:2016-10-25 06:21:09

标签: embedded-linux u-boot

我最近found out如何为U-Boot创建FIT图像。

根据创建所需的*.its文件,该图像可以包含内核,根文件系统和设备树Blob。

我的问题是,是否有办法将预建的FIT图像分离回其组件(甚至可能会返回*its文件。)

1 个答案:

答案 0 :(得分:2)

安装device-tree-compiler(apt-get install)并下载脚本split_bootimg.pl(github)。运行脚本以提取内核映像,ramdisk和dtb文件。然后你得到了所有组件。您可以使用device-tree-compiler从dtb中提取设备树文件。

如果您在图片中找不到" Android Magic。放弃。"问题,然后:

从split_bootimg.pl中,FIT图像的格式应为:

=格式(来自bootimg.h)

** + ----------------- +

** |引导头| 1页

** + ----------------- +

** |内核| n页

** + ----------------- +

** | ramdisk | m页

** + ----------------- +

** |第二阶段| o页

** + ----------------- +

boot-header包含一个magic-number字段,脚本将检查该字段以验证图像是否为android。下面的代码检查幻数:

# Read the Magic
read(INF, $buf, BOOT_MAGIC_SIZE);
unless ($buf eq BOOT_MAGIC) {
die "Android Magic not found in $fn. Giving up.\n";
}

所以也许你可以注释掉代码,或者检查图像中的幻数并修改脚本。