linux 合并uboot dtb kernel rootfs 文件制作nor flash 烧录镜像
一:需求
将uboot dtb_image rootfs 根据对应的flash地址合并为一个文件方便批量烧录,也适用其他文件的合并
二:制作命令
以uboot (u-boot-with-spl.img): flash 地址 :0x0
dtb_image (zImage-dtb): flash 地址: 0xa0000 (1k* 640)
rootfs(rootfs.squash.img): flash 地址: 0x3a0000(1k*3712)
合成一个5M的u-boot-with-spl.img 的文件,其他没有覆盖到的填充0xff 为例
其中:if =输入文件
of=输出文件
bs=块大小(单位BYTE)
count=块数量
seek=偏移块数量
#!/bin/sh
UBOOT_FILE=./output/boot/u-boot-with-spl.img
KERNEL_FILE=./output/kernel/zImage-dtb
ROOTFS_FILE=./output/kernel/rootfs.squash.img
OUTPUT_FILE=u-boot-with-spl.img
dd if=/dev/zero of=$OUTPUT_FILE bs=1M count=5 &&\
dd if=$UBOOT_FILE of=$OUTPUT_FILE bs=1K conv=notrunc &&\
dd if=$KERNEL_FILE of=$OUTPUT_FILE bs=1K seek=640 conv=notrunc &&\
dd if=$ROOTFS_FILE of=$OUTPUT_FILE bs=1K seek=3712 conv=notrunc