From 3115db47d4066fb59e608db4bedd14bad747b770 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 7 Dec 2006 00:26:26 +0000 Subject: remove custom partition table hack, add ptgen utility for generating partition tables git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5704 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/rb532-2.6/image/Makefile | 16 +--------------- target/linux/rb532-2.6/image/gen_image.sh | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 15 deletions(-) create mode 100755 target/linux/rb532-2.6/image/gen_image.sh (limited to 'target/linux/rb532-2.6/image') 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" -- cgit v1.2.3