I can replicate the Linux U-Boot setup as follows:
dd if=bl1-mmcboot.bin of=/dev/sdf bs=512 seek=1 conv=fdatasync dd if=fip-loader.img of=/dev/sdf bs=512 seek=129 conv=fdatasync dd if=fip-secure.img of=/dev/sdf bs=512 seek=769 conv=fdatasync dd if=fip-nonsecure.img of=/dev/sdf bs=512 seek=3841 conv=fdatasyncfip-nonsecure is the U-boot image, wrapped up as a FIP gizmo. There is no telling for sure what fip-loader and fip-secure are. These things (fip-loader and fip-secure) are pretty big:
-rw-rw-r-- 1 tom tom 21552 Aug 10 14:08 bl1-mmcboot.bin -rw-rw-r-- 1 tom tom 279040 Aug 10 14:08 fip-loader.img -rw-rw-r-- 1 tom tom 257136 Aug 10 14:08 fip-secure.img -rw-rw-r-- 1 tom tom 501648 Aug 26 22:14 fip-nonsecure.imgA look at the linux SD card shows:
[tom@trona ~]$ fdisk /dev/sdf Disk /dev/sdf: 7.4 GiB, 7948206080 bytes, 15523840 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Device Boot Start End Sectors Size Id Type /dev/sdf1 8192 139263 131072 64M 83 Linux /dev/sdf2 139264 15523839 153845So there is an area of 8192 blocks (64M) left that all of this rubbish can get crammed into. U-Boot is something over 1000 blocks, and it gets deposited after 3841 blocks, so all of that uses 4841 blocks (round it up to 5000), leaving something like 3000 for elbow room (the U-Boot env variables get dumped there someplace).
Fetch it via:
dd if=/dev/sdf of=zzz skip=5889 count=16
Tom's electronics pages / [email protected]