diff options
Diffstat (limited to 'target/linux/realview')
-rw-r--r-- | target/linux/realview/image/Makefile | 9 | ||||
-rwxr-xr-x | target/linux/realview/image/gen_realview_sdcard_img.sh | 23 |
2 files changed, 32 insertions, 0 deletions
diff --git a/target/linux/realview/image/Makefile b/target/linux/realview/image/Makefile index 28db6f330c..ad7aa6951c 100644 --- a/target/linux/realview/image/Makefile +++ b/target/linux/realview/image/Makefile @@ -21,7 +21,16 @@ endef define Image/Build $(call Image/Build/$(1)) + $(call Build/sdcard-img) dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync endef +define Build/sdcard-img + ./gen_realview_sdcard_img.sh \ + $(BIN_DIR)/$(IMG_PREFIX)-$(PROFILE)sdcard.img \ + $(KDIR)/root.ext4 \ + $(CONFIG_TARGET_ROOTFS_PARTSIZE) +endef + + $(eval $(call BuildImage)) diff --git a/target/linux/realview/image/gen_realview_sdcard_img.sh b/target/linux/realview/image/gen_realview_sdcard_img.sh new file mode 100755 index 0000000000..4619defd73 --- /dev/null +++ b/target/linux/realview/image/gen_realview_sdcard_img.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -x +[ $# -eq 3 ] || { + echo "SYNTAX: $0 <file> <rootfs image> <rootfs size>" + exit 1 +} + +OUTPUT="$1" +ROOTFS="$2" +ROOTFSSIZE="$3" + +head=4 +sect=63 + +set `ptgen -o $OUTPUT -h $head -s $sect -l 4096 -t 83 -p ${ROOTFSSIZE}M` + +ROOTFSOFFSET="$(($1 / 512))" +ROOTFSSIZE="$(($2 / 512))" + +dd bs=512 if="$ROOTFS" of="$OUTPUT" seek="$ROOTFSOFFSET" conv=notrunc + + |