developer | 6747cdd | 2021-09-29 17:00:51 +0800 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | OUTPUT_FILE=$1 |
| 4 | KERNEL_FILE=$2 |
| 5 | RECOVERY_FILE=$3 |
| 6 | ROOTFS_FILE=$4 |
| 7 | |
| 8 | BS=512 |
| 9 | |
| 10 | #RECOVERY_OFFSET= kernel size / BS = 20M / 512 (blocks) |
| 11 | RECOVERY_OFFSET=40960 |
| 12 | |
| 13 | #ROOTFS_OFFSET = RECOVERY_OFFSET + (RECOVERY_SIZE / BS) |
| 14 | # = 40960 + (10M / 512) (blocks) |
| 15 | ROOTFS_OFFSET=61440 |
| 16 | dd bs="$BS" of="$OUTPUT_FILE" if="$KERNEL_FILE" |
| 17 | dd bs="$BS" of="$OUTPUT_FILE" if="$RECOVERY_FILE" seek="$RECOVERY_OFFSET" |
| 18 | dd bs="$BS" of="$OUTPUT_FILE" if="$ROOTFS_FILE" seek="$ROOTFS_OFFSET" |
| 19 | dd if=/dev/zero of="$OUTPUT_FILE" bs=128k count=1 oflag=append conv=notrunc |