From 60037e70b76041e9405f69280b2c20951f61e481 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 26 Oct 2006 01:08:41 +0000 Subject: Add NAND flash/YAFFS2 patches for RB532 by David Goodenough Read the kernel command line from an otherwise unused area of the kernel image (will be used for changing the command line on the fly when copying the system from CF to NAND) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5296 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/image/rb532/Makefile | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'target/image') diff --git a/target/image/rb532/Makefile b/target/image/rb532/Makefile index 2a61a484dc..7213cf8b8a 100644 --- a/target/image/rb532/Makefile +++ b/target/image/rb532/Makefile @@ -6,6 +6,7 @@ # include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk +include $(INCLUDE_DIR)/kernel.mk LOADADDR = 0x81000000 # RAM start + 16M KERNEL_ENTRY = 0x80101000 @@ -23,19 +24,41 @@ define Build/Clean $(MAKE) -C ../generic/lzma-loader $(LOADER_MAKEOPTS) clean endef +CMDLINE_SIZE=512 +CMDLINE_OFFSET=4112 + define Image/Prepare - cat $(KDIR)/vmlinux | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma - $(MAKE) -C ../generic/lzma-loader $(LOADER_MAKEOPTS) clean compile + echo 'root=/dev/cfa2 ' | \ + dd bs=$(CMDLINE_SIZE) count=1 conv=sync | \ + dd of=$(LINUX_DIR)/vmlinux bs=$(CMDLINE_OFFSET) conv=notrunc seek=1 + $(KERNEL_CROSS)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S $(LINUX_DIR)/vmlinux $(LINUX_KERNEL) endef define Image/BuildKernel + cat $(KDIR)/vmlinux | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma + $(MAKE) -C ../generic/lzma-loader $(LOADER_MAKEOPTS) clean compile $(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/Build/jffs2-128k +define Image/cmdline/jffs2-64k +block2mtd.block2mtd=/dev/cfa2,65536 root=/dev/mtdblock0 rootfstype=jffs2 +endef + +define Image/cmdline/jffs2-128k +block2mtd.block2mtd=/dev/cfa2,131072 root=/dev/mtdblock0 rootfstype=jffs2 +endef + +define Image/cmdline/ext2 +root=/dev/cfa2 rootfstype=ext2 +endef + +define Image/Build + echo '$(strip $(call Image/cmdline/$(1))) ' | \ + dd bs=$(CMDLINE_SIZE) count=1 conv=sync | \ + dd of=$(LINUX_DIR)/vmlinux bs=$(CMDLINE_OFFSET) conv=notrunc seek=1 ( \ echo -ne OWRT | dd bs=$$$$((0x1be)) conv=sync; \ ( \ @@ -44,14 +67,10 @@ define Image/Build/jffs2-128k ) | dd bs=$$$$((0x40)) conv=sync; \ echo -ne '\x55\xaa'; \ dd if=/dev/zero bs=$$$$((0x3e00)) conv=sync count=1; \ - dd if=$(KDIR)/loader.elf bs=$$$$((0x3dc000)) conv=sync; \ + 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 endef -define Image/Build - $(call Image/Build/$(1),$(1)) -endef - $(eval $(call BuildImage)) -- cgit v1.2.3