From 7dfdc306928325409f7e578b6d25d35e99da3100 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Tue, 5 Aug 2008 13:42:36 +0000 Subject: [PATCH] Reinstate rdc bootability and force it to use init=/etc/preinit, thus the remove the hackish SetInitramfs actions SVN-Revision: 12136 --- package/kernel/modules/network.mk | 1 + target/linux/rdc/Makefile | 12 ---------- .../linux/rdc/base-files/etc/config/network | 19 +++++++++++++++ target/linux/rdc/config-2.6.24 | 24 +++++++------------ target/linux/rdc/files/drivers/net/r6040.c | 2 +- .../patches-2.6.24/005-cmdline_setup.patch | 10 ++++++++ 6 files changed, 40 insertions(+), 28 deletions(-) create mode 100644 target/linux/rdc/base-files/etc/config/network create mode 100644 target/linux/rdc/patches-2.6.24/005-cmdline_setup.patch diff --git a/package/kernel/modules/network.mk b/package/kernel/modules/network.mk index 5face2175b..c546d638ed 100644 --- a/package/kernel/modules/network.mk +++ b/package/kernel/modules/network.mk @@ -558,6 +558,7 @@ define KernelPackage/r6040 DEPENDS:=@TARGET_rdc KCONFIG:=CONFIG_R6040 FILES:=$(LINUX_DIR)/drivers/net/r6040.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,99,r6040) endef define KernelPackage/r6040/description diff --git a/target/linux/rdc/Makefile b/target/linux/rdc/Makefile index 89fab7149b..d56bac0107 100644 --- a/target/linux/rdc/Makefile +++ b/target/linux/rdc/Makefile @@ -20,16 +20,4 @@ define Target/Description (e.g. Airlink101 AR525W, Linksys WRT54R, Sitecom WL-153) endef -ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) - define Kernel/SetInitramfs - echo "r6040 parent=wlan0" > $(TARGET_DIR)/etc/modules.d/99-r6040 - $(RM) $(TARGET_DIR)/sbin/init - ln -s /etc/preinit $(TARGET_DIR)/sbin/init - sed -i 's,exec /sbin/init,exec /bin/busybox init,g' $(TARGET_DIR)/etc/preinit - sed -i 's,/sbin/init,/bin/busybox init,g' $(TARGET_DIR)/init - mv $(TARGET_DIR)/init $(TARGET_DIR)/linuxrc - sed -i 's,eth0,eth1,g' $(TARGET_DIR)/etc/config/network - endef -endif - $(eval $(call BuildTarget)) diff --git a/target/linux/rdc/base-files/etc/config/network b/target/linux/rdc/base-files/etc/config/network new file mode 100644 index 0000000000..4e55afd9b1 --- /dev/null +++ b/target/linux/rdc/base-files/etc/config/network @@ -0,0 +1,19 @@ +# Copyright (C) 2008 OpenWrt.org + +config interface loopback + option ifname lo + option proto static + option ipaddr 127.0.0.1 + option netmask 255.0.0.0 + +config interface lan + option ifname eth1 + option type bridge + option proto static + option ipaddr 192.168.1.1 + option netmask 255.255.255.0 + +config interface wan + option ifname eth0 + option proto dhcp + diff --git a/target/linux/rdc/config-2.6.24 b/target/linux/rdc/config-2.6.24 index 7ee25b558a..a033d5d366 100644 --- a/target/linux/rdc/config-2.6.24 +++ b/target/linux/rdc/config-2.6.24 @@ -23,10 +23,12 @@ CONFIG_BITREVERSE=y CONFIG_BLK_DEV_IDE=m CONFIG_BLK_DEV_IDEDISK=m # CONFIG_BLK_DEV_IDEDMA is not set -# CONFIG_BLK_DEV_PLATFORM is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BOUNCE=y # CONFIG_BROADCOM_PHY is not set -# CONFIG_BT_HCIUART_LL is not set CONFIG_CLOCKSOURCE_WATCHDOG=y # CONFIG_COMPAT_VDSO is not set # CONFIG_CPU5_WDT is not set @@ -70,7 +72,6 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HIBERNATION_UP_POSSIBLE=y CONFIG_HID=m -# CONFIG_HIDRAW is not set CONFIG_HID_SUPPORT=y # CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM64G is not set @@ -107,6 +108,7 @@ CONFIG_IDE_ARCH_OBSOLETE_INIT=y # CONFIG_IDE_PROC_FS is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INPUT=m +# CONFIG_INPUT_GPIO_BUTTONS is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_YEALINK=m CONFIG_INSTRUMENTATION=y @@ -121,7 +123,6 @@ CONFIG_KEXEC=y CONFIG_KTIME_SCALAR=y # CONFIG_KVM is not set CONFIG_LBD=y -# CONFIG_LEDS_ALIX is not set CONFIG_LEDS_GPIO=y # CONFIG_LGUEST is not set CONFIG_LSF=y @@ -216,7 +217,7 @@ CONFIG_MTD_RDC3210_SIZE=0x400000 # CONFIG_NET_VENDOR_3COM is not set CONFIG_NLS_ISO8859_2=m CONFIG_NOHIGHMEM=y -# CONFIG_NO_HZ is not set +CONFIG_NO_HZ=y CONFIG_NR_QUICK=1 # CONFIG_NSC_GPIO is not set CONFIG_NVRAM=y @@ -224,14 +225,13 @@ CONFIG_PAGE_OFFSET=0xC0000000 # CONFIG_PARAVIRT_GUEST is not set CONFIG_PATA_ARTOP=m # CONFIG_PATA_CS5536 is not set -# CONFIG_PATA_NS87415 is not set # CONFIG_PC8736x_GPIO is not set # CONFIG_PC87413_WDT is not set CONFIG_PCCARD=m CONFIG_PCCARD_NONSTATIC=m +CONFIG_PCI=y # CONFIG_PCIEPORTBUS is not set # CONFIG_PCIPCWATCHDOG is not set -CONFIG_PCI=y CONFIG_PCI_BIOS=y CONFIG_PCI_DIRECT=y CONFIG_PCI_DOMAINS=y @@ -257,19 +257,16 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y # CONFIG_SC1200_WDT is not set # CONFIG_SC520_WDT is not set CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y -# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set # CONFIG_SCSI_MULTI_LUN is not set CONFIG_SCSI_WAIT_SCAN=m # CONFIG_SCx200 is not set # CONFIG_SCx200_ACB is not set CONFIG_SEMAPHORE_SLEEPERS=y -# CONFIG_SENSORS_FSCHMD is not set # CONFIG_SERIAL_8250_EXTENDED is not set CONFIG_SLABINFO=y # CONFIG_SMP is not set # CONFIG_SMSC37B787_WDT is not set # CONFIG_SMSC_PHY is not set -# CONFIG_SND_CS5530 is not set CONFIG_SOFT_WATCHDOG=m # CONFIG_SONYPI is not set # CONFIG_SPARSEMEM_STATIC is not set @@ -277,18 +274,17 @@ CONFIG_SOFT_WATCHDOG=m CONFIG_SSB_POSSIBLE=y CONFIG_SYSVIPC_SYSCTL=y # CONFIG_TELCLOCK is not set -# CONFIG_TICK_ONESHOT is not set +CONFIG_TICK_ONESHOT=y # CONFIG_TOSHIBA is not set CONFIG_UID16=y -# CONFIG_USBPCWATCHDOG is not set CONFIG_USB=m +# CONFIG_USBPCWATCHDOG is not set CONFIG_USB_EHCI_HCD=m # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set CONFIG_USB_OHCI_HCD=m CONFIG_USB_PWC=m # CONFIG_USB_PWC_DEBUG is not set -# CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_OTI6858 is not set # CONFIG_USB_UHCI_HCD is not set @@ -298,9 +294,7 @@ CONFIG_V4L_USB_DRIVERS=y # CONFIG_VIA_RHINE is not set CONFIG_VIDEO_CAPTURE_DRIVERS=y CONFIG_VIDEO_CPIA2=m -# CONFIG_VIDEO_TCM825X is not set CONFIG_VIDEO_V4L1=y -# CONFIG_VIDEO_VP27SMPX is not set CONFIG_VIRTUALIZATION=y # CONFIG_VM86 is not set # CONFIG_VMSPLIT_1G is not set diff --git a/target/linux/rdc/files/drivers/net/r6040.c b/target/linux/rdc/files/drivers/net/r6040.c index 2703db457e..29e731d81f 100644 --- a/target/linux/rdc/files/drivers/net/r6040.c +++ b/target/linux/rdc/files/drivers/net/r6040.c @@ -243,7 +243,7 @@ struct r6040_private { }; struct net_device *parent_dev; -static char *parent; +static char *parent = "wlan0"; module_param(parent, charp, 0444); MODULE_PARM_DESC(parent, "Parent network device name to get the MAC address from"); diff --git a/target/linux/rdc/patches-2.6.24/005-cmdline_setup.patch b/target/linux/rdc/patches-2.6.24/005-cmdline_setup.patch new file mode 100644 index 0000000000..007477e836 --- /dev/null +++ b/target/linux/rdc/patches-2.6.24/005-cmdline_setup.patch @@ -0,0 +1,10 @@ +--- linux-2.6.24.7/arch/x86/kernel/setup_32.c 2008-05-07 01:22:34.000000000 +0200 ++++ linux-2.6.24.7.new/arch/x86/kernel/setup_32.c 2008-08-05 14:54:58.000000000 +0200 +@@ -609,6 +609,7 @@ + print_memory_map("user"); + } + ++ strcat(boot_command_line, " init=/etc/preinit"); + strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); + *cmdline_p = command_line; + -- 2.30.2