Add a RB1xx profile to generate RouterBoard RB1xx series image and kernel command...
authorFlorian Fainelli <florian@openwrt.org>
Fri, 11 May 2007 22:20:39 +0000 (22:20 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Fri, 11 May 2007 22:20:39 +0000 (22:20 +0000)
SVN-Revision: 7194

target/linux/adm5120-2.6/config/default
target/linux/adm5120-2.6/image/Makefile
target/linux/adm5120-2.6/patches/140-cmdline_hack.patch [new file with mode: 0644]
target/linux/adm5120-2.6/profiles/RB1xx.mk [new file with mode: 0644]

index 38400b93537bd7b95812195ae1d180da23d29e8c..9747a42a75d58307c685c0f46d3d00ffffb756c2 100644 (file)
@@ -235,7 +235,6 @@ CONFIG_SERIO_SERPORT=y
 # CONFIG_SND_USB_AUDIO is not set
 CONFIG_SOFT_WATCHDOG=m
 # CONFIG_SPARSEMEM_STATIC is not set
 # CONFIG_SND_USB_AUDIO is not set
 CONFIG_SOFT_WATCHDOG=m
 # CONFIG_SPARSEMEM_STATIC is not set
-CONFIG_SYN_COOKIES=y
 CONFIG_SYS_HAS_CPU_MIPS32_R1=y
 CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
 CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
 CONFIG_SYS_HAS_CPU_MIPS32_R1=y
 CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
 CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
index 025146077fc00b355703bc3d6b27a909637423ad..9c7b9bd7be799a1ba790c668569556f2d577ea21 100644 (file)
@@ -62,6 +62,10 @@ define Image/Build/MyLoader
                $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(3)-$(2).bin
 endef
 
                $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(3)-$(2).bin
 endef
 
+define Image/Build/RouterBoard
+       $(CP) $(KDIR)/vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux
+endef
+
 define Image/Build
        $(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1)) -f $(KDIR)/root.$(1)
        $(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1)-noloader.trx -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1)) -f $(KDIR)/root.$(1)
 define Image/Build
        $(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1)) -f $(KDIR)/root.$(1)
        $(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1)-noloader.trx -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1)) -f $(KDIR)/root.$(1)
@@ -88,6 +92,9 @@ ifneq ($(1),jffs2-128K)
        $(call Image/Build/MyLoader,$(1),wpp54g,$(patsubst jffs2-%,jffs2,$(1)),WPP54G)
        $(call Image/Build/MyLoader,$(1),wpp54ag,$(patsubst jffs2-%,jffs2,$(1)),WPP54AG)
 endif
        $(call Image/Build/MyLoader,$(1),wpp54g,$(patsubst jffs2-%,jffs2,$(1)),WPP54G)
        $(call Image/Build/MyLoader,$(1),wpp54ag,$(patsubst jffs2-%,jffs2,$(1)),WPP54AG)
 endif
+ifeq ($(1),tgz)
+       $(call Image/Build/RouterBoard)
+endif
 endef
 
 $(eval $(call BuildImage))
 endef
 
 $(eval $(call BuildImage))
diff --git a/target/linux/adm5120-2.6/patches/140-cmdline_hack.patch b/target/linux/adm5120-2.6/patches/140-cmdline_hack.patch
new file mode 100644 (file)
index 0000000..d72073d
--- /dev/null
@@ -0,0 +1,50 @@
+diff -ur linux.old/arch/mips/kernel/head.S linux.dev/arch/mips/kernel/head.S
+--- linux.old/arch/mips/kernel/head.S  2006-12-06 17:30:27.000000000 +0100
++++ linux.dev/arch/mips/kernel/head.S  2006-12-06 18:34:43.000000000 +0100
+@@ -129,15 +129,20 @@
+ #endif
+       .endm
+-
+       j kernel_entry
+       nop
+-
++      nop
++      
+       /*
+        * Reserved space for exception handlers.
+        * Necessary for machines which link their kernels at KSEG0.
++       * Use as temporary storage for the kernel command line, so that it
++       * can be updated easily without having to relink the kernel.
+        */
+-      .fill   0x400
++       
++EXPORT(_image_cmdline)
++      .ascii "CMDLINE:"
++      .fill   0x3ec
+ EXPORT(stext)                                 # used for profiling
+ EXPORT(_stext)
+diff -ur linux.old/arch/mips/adm5120/prom.c linux.dev/arch/mips/adm5120/prom.c
+--- linux.old/arch/mips/adm5120/prom.c 2006-12-06 17:30:27.000000000 +0100
++++ linux.dev/arch/mips/adm5120/prom.c 2006-12-06 17:41:40.000000000 +0100
+@@ -100,6 +100,7 @@
+ }
++extern char _image_cmdline;
+ /*
+  * initialize the prom module.
+  */
+@@ -112,8 +112,10 @@
+       mips_machtype = adm5120_board.mach_type;
+       /* init command line, register a default kernel command line */
+-      strcpy(&(arcs_cmdline[0]), CONFIG_CMDLINE);
++      char *cmd = &_image_cmdline + 8;
++      if( strlen(cmd) > 0) strcpy( &(arcs_cmdline[0]), cmd);
++              else strcpy(&(arcs_cmdline[0]), CONFIG_CMDLINE);
+       /* init memory map */
+       prom_meminit();
+ }
diff --git a/target/linux/adm5120-2.6/profiles/RB1xx.mk b/target/linux/adm5120-2.6/profiles/RB1xx.mk
new file mode 100644 (file)
index 0000000..8e18998
--- /dev/null
@@ -0,0 +1,17 @@
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/RouterBoard
+  NAME:=RouterBoard RB1xx
+  PACKAGES:=kmod-madwifi kmod-usb-core kmod-usb-ohci kmod-usb2 patch-cmdline wget2nand
+endef
+
+define Profile/RouterBoard/Description
+  Package set compatible with the RouterBoard RB1xx devices. Contains USB support and RouterOS to OpenWrt\\\
+  installation scripts.
+endef
+$(eval $(call Profile,RouterBoard))