aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/rb532-2.6/image
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/rb532-2.6/image')
-rw-r--r--target/linux/rb532-2.6/image/Makefile16
-rwxr-xr-xtarget/linux/rb532-2.6/image/gen_image.sh17
2 files changed, 18 insertions, 15 deletions
diff --git a/target/linux/rb532-2.6/image/Makefile b/target/linux/rb532-2.6/image/Makefile
index 4907214469..1f3a88ba40 100644
--- a/target/linux/rb532-2.6/image/Makefile
+++ b/target/linux/rb532-2.6/image/Makefile
@@ -39,9 +39,6 @@ define Image/BuildKernel
$(CP) $(KDIR)/loader.elf $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux
endef
-PARTITION1=\x80\x01\x01\x00\x27\x01\x20\x7b\x20\x00\x00\x00\xe0\x1e\x00\x00# 4 MB (kernel part)
-PARTITION2=\x00\x00\x01\x7c\x83\x01\xa0\x64\x00\x1f\x00\x00\x40\x7a\x00\x00# 16 MB (rootfs part)
-
define Image/cmdline/jffs2-64k
block2mtd.block2mtd=/dev/cfa2,65536 root=/dev/mtdblock0 rootfstype=jffs2
endef
@@ -56,18 +53,7 @@ endef
define Image/Build
$(STAGING_DIR)/bin/patch-cmdline $(LINUX_DIR)/vmlinux '$(strip $(call Image/cmdline/$(1))) '
- ( \
- echo -ne OWRT | dd bs=$$$$((0x1be)) conv=sync; \
- ( \
- echo -ne '$(strip $(PARTITION1))'; \
- echo -ne '$(strip $(PARTITION2))'; \
- ) | dd bs=$$$$((0x40)) conv=sync; \
- echo -ne '\x55\xaa'; \
- dd if=/dev/zero bs=$$$$((0x3e00)) conv=sync count=1; \
- dd if=$(LINUX_DIR)/vmlinux bs=$$$$((0x3dc000)) conv=sync; \
- cat $(KDIR)/root.$(1); \
- echo -ne '\xde\xad\xc0\xde'; \
- ) > $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).bin
+ ./gen_image.sh $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).bin 4 $(LINUX_DIR)/vmlinux 16 $(KDIR)/root.$(1)
endef
$(eval $(call BuildImage))
diff --git a/target/linux/rb532-2.6/image/gen_image.sh b/target/linux/rb532-2.6/image/gen_image.sh
new file mode 100755
index 0000000000..e812859797
--- /dev/null
+++ b/target/linux/rb532-2.6/image/gen_image.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+OUTPUT="$1"
+KERNELSIZE="$2"
+KERNELIMAGE="$3"
+ROOTFSSIZE="$4"
+ROOTFSIMAGE="$5"
+
+rm -f "$OUTPUT"
+
+# create partition table
+set `ptgen -o "$OUTPUT" -h 16 -s 32 -t 0x27 -p ${KERNELSIZE}m -t 0x83 -p ${ROOTFSSIZE}m`
+
+KERNELOFFSET="$(($1 / 512))"
+ROOTFSOFFSET="$(($2 / 512))"
+
+dd if="$KERNELIMAGE" of="$OUTPUT" bs=512 conv=notrunc seek="$KERNELOFFSET"
+dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 conv=notrunc seek="$ROOTFSOFFSET"