aboutsummaryrefslogtreecommitdiffstats
path: root/target/image
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-10-26 01:08:41 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-10-26 01:08:41 +0000
commit1a94b0d4a0fc4686df2e163e17790af0613aca13 (patch)
tree149137d4a59322755f3e12928556962be0bc66b1 /target/image
parent673622720afaada4f596031c511304d90ee49a01 (diff)
downloadupstream-1a94b0d4a0fc4686df2e163e17790af0613aca13.tar.gz
upstream-1a94b0d4a0fc4686df2e163e17790af0613aca13.tar.bz2
upstream-1a94b0d4a0fc4686df2e163e17790af0613aca13.zip
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)
SVN-Revision: 5296
Diffstat (limited to 'target/image')
-rw-r--r--target/image/rb532/Makefile35
1 files changed, 27 insertions, 8 deletions
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))