我最近found out如何为U-Boot创建FIT图像。
根据创建所需的*.its
文件,该图像可以包含内核,根文件系统和设备树Blob。
我的问题是,是否有办法将预建的FIT图像分离回其组件(甚至可能会返回*its
文件。)
答案 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";
}
所以也许你可以注释掉代码,或者检查图像中的幻数并修改脚本。