diff --git a/target/linux/adm5120/image/router_le.mk b/target/linux/adm5120/image/router_le.mk
index a760a21b73e..d1ee363a166 100644
--- a/target/linux/adm5120/image/router_le.mk
+++ b/target/linux/adm5120/image/router_le.mk
@@ -354,7 +354,7 @@ endef
 
 ifeq ($(PROFILE),RouterBoard)
   define Image/cmdline/yaffs2
-	root=/dev/mtdblock3 rootfstype=yaffs2 init=/etc/preinit
+	root=/dev/mtdblock3 rootfstype=yaffs2
   endef
 
   define Image/BuildKernel/RouterBoard
diff --git a/target/linux/adm5120/router_be/config-2.6.28 b/target/linux/adm5120/router_be/config-2.6.28
index 6254db60dab..4500718fe8f 100644
--- a/target/linux/adm5120/router_be/config-2.6.28
+++ b/target/linux/adm5120/router_be/config-2.6.28
@@ -27,7 +27,7 @@ CONFIG_BINFMT_MISC=m
 CONFIG_BITREVERSE=y
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,jffs2 init=/etc/preinit"
+CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,jffs2"
 CONFIG_CPU_BIG_ENDIAN=y
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/adm5120/router_le/config-2.6.28 b/target/linux/adm5120/router_le/config-2.6.28
index 14a9a486511..865b62ce459 100644
--- a/target/linux/adm5120/router_le/config-2.6.28
+++ b/target/linux/adm5120/router_le/config-2.6.28
@@ -49,7 +49,7 @@ CONFIG_BITREVERSE=y
 CONFIG_BRIDGE=m
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,yaffs2,jffs2 init=/etc/preinit"
+CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,yaffs2,jffs2"
 # CONFIG_CPU_BIG_ENDIAN is not set
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/amazon/files/arch/mips/amazon/prom.c b/target/linux/amazon/files/arch/mips/amazon/prom.c
index 2947473ad06..f138bcbef4d 100644
--- a/target/linux/amazon/files/arch/mips/amazon/prom.c
+++ b/target/linux/amazon/files/arch/mips/amazon/prom.c
@@ -62,7 +62,7 @@ void __init prom_init(void)
 	mips_machgroup = MACH_GROUP_INFINEON;
 	mips_machtype = MACH_INFINEON_AMAZON;
 
-	strcpy(&(arcs_cmdline[0]), "console=ttyS0,115200 rootfstype=squashfs,jffs2 init=/etc/preinit");
+	strcpy(&(arcs_cmdline[0]), "console=ttyS0,115200 rootfstype=squashfs,jffs2");
 	
 	add_memory_region(0x00000000, 0x1000000, BOOT_MEM_RAM);
 }
diff --git a/target/linux/ar7/config-2.6.26 b/target/linux/ar7/config-2.6.26
index 3fa8c44a656..9f675487817 100644
--- a/target/linux/ar7/config-2.6.26
+++ b/target/linux/ar7/config-2.6.26
@@ -17,7 +17,7 @@ CONFIG_BOOT_ELF32=y
 # CONFIG_BT is not set
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="init=/etc/preinit rootfstype=squashfs,jffs2,"
+CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
 CONFIG_CPMAC=y
 # CONFIG_CPU_BIG_ENDIAN is not set
 CONFIG_CPU_HAS_LLSC=y
diff --git a/target/linux/ar7/config-2.6.27 b/target/linux/ar7/config-2.6.27
index e98a416ee23..78588d812b6 100644
--- a/target/linux/ar7/config-2.6.27
+++ b/target/linux/ar7/config-2.6.27
@@ -15,7 +15,7 @@ CONFIG_BITREVERSE=y
 CONFIG_BOOT_ELF32=y
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="init=/etc/preinit rootfstype=squashfs,jffs2,"
+CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
 CONFIG_CPMAC=y
 # CONFIG_CPU_BIG_ENDIAN is not set
 CONFIG_CPU_HAS_LLSC=y
diff --git a/target/linux/ar71xx/config-2.6.28 b/target/linux/ar71xx/config-2.6.28
index ca0c9a06a9b..bc2b30036d7 100644
--- a/target/linux/ar71xx/config-2.6.28
+++ b/target/linux/ar71xx/config-2.6.28
@@ -34,7 +34,7 @@ CONFIG_BASE_SMALL=0
 CONFIG_BITREVERSE=y
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200"
 CONFIG_CPU_BIG_ENDIAN=y
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/ar71xx/config-2.6.29 b/target/linux/ar71xx/config-2.6.29
index ab7312e3c28..2fd9276f6f9 100644
--- a/target/linux/ar71xx/config-2.6.29
+++ b/target/linux/ar71xx/config-2.6.29
@@ -35,7 +35,7 @@ CONFIG_BITREVERSE=y
 # CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
 CONFIG_CEVT_R4K=y
 CONFIG_CEVT_R4K_LIB=y
-CONFIG_CMDLINE="rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200"
 CONFIG_COMPAT_NET_DEV_OPS=y
 CONFIG_CPU_BIG_ENDIAN=y
 # CONFIG_CPU_CAVIUM_OCTEON is not set
diff --git a/target/linux/ar71xx/config-2.6.30 b/target/linux/ar71xx/config-2.6.30
index c093a220fee..ac825c7f296 100644
--- a/target/linux/ar71xx/config-2.6.30
+++ b/target/linux/ar71xx/config-2.6.30
@@ -36,7 +36,7 @@ CONFIG_BITREVERSE=y
 # CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
 CONFIG_CEVT_R4K=y
 CONFIG_CEVT_R4K_LIB=y
-CONFIG_CMDLINE="rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200"
 CONFIG_CPU_BIG_ENDIAN=y
 # CONFIG_CPU_CAVIUM_OCTEON is not set
 CONFIG_CPU_HAS_LLSC=y
diff --git a/target/linux/at91/image/u-boot/patches/006-generate_params.patch b/target/linux/at91/image/u-boot/patches/006-generate_params.patch
index d278cfb2da8..d4427c3ecdd 100644
--- a/target/linux/at91/image/u-boot/patches/006-generate_params.patch
+++ b/target/linux/at91/image/u-boot/patches/006-generate_params.patch
@@ -75,11 +75,11 @@
 +	"stdout=serial\0"
 +	"stderr=serial\0"
 +	"partitions=mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data)\0"
-+	"fbargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
-+	"rdba=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
++	"fbargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
++	"rdba=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
 +	"rdram=run rdba; tftp 21000000 vImage; tftp 21200000 root.squashfs; bootm 21000000\0"
 +	"flash=run fbargs; bootm 0xc0042000\0"
-+	"bootargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
++	"bootargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
 +	"bootcmd=bootm 0xc0042000\0"
 +	"ethaddr=00:30:49:00:00:01\0"
 +	"ipaddr=10.0.1.73\0"
diff --git a/target/linux/at91/image/u-boot/patches/011-ubparams_update.patch b/target/linux/at91/image/u-boot/patches/011-ubparams_update.patch
index 267903efe4a..de02cc88c06 100644
--- a/target/linux/at91/image/u-boot/patches/011-ubparams_update.patch
+++ b/target/linux/at91/image/u-boot/patches/011-ubparams_update.patch
@@ -6,14 +6,14 @@ diff -urN u-boot-1.1.4.old/tools/ubparams.c u-boot-1.1.4/tools/ubparams.c
  	"stdout=serial\0"
  	"stderr=serial\0"
 -	"partitions=mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data)\0"
--	"fbargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
--	"rdba=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
-+	"fbargs=setenv bootargs root=/dev/mtdblock3 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
-+	"rdba=setenv bootargs root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
+-	"fbargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
+-	"rdba=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
++	"fbargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
++	"rdba=setenv bootargs root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
  	"rdram=run rdba; tftp 21000000 vImage; tftp 21200000 root.squashfs; bootm 21000000\0"
  	"flash=run fbargs; bootm 0xc0042000\0"
--	"bootargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
-+	"bootargs=setenv bootargs root=/dev/mtdblock3 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
+-	"bootargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
++	"bootargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
  	"bootcmd=bootm 0xc0042000\0"
  	"ethaddr=00:30:49:00:00:01\0"
  	"ipaddr=10.0.1.73\0"
diff --git a/target/linux/at91/image/u-boot/patches/013-params-in-config.patch b/target/linux/at91/image/u-boot/patches/013-params-in-config.patch
index 11ff2a39cb4..5f42209238f 100644
--- a/target/linux/at91/image/u-boot/patches/013-params-in-config.patch
+++ b/target/linux/at91/image/u-boot/patches/013-params-in-config.patch
@@ -12,7 +12,7 @@
 --- u-boot-1.1.4.old/tools/ubparams.c	2007-06-13 13:35:59.000000000 +0200
 +++ u-boot-1.1.4/tools/ubparams.c	2007-06-14 15:31:55.000000000 +0200
 @@ -44,8 +44,8 @@
- 	"bootargs=setenv bootargs root=/dev/mtdblock3 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
+ 	"bootargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
  	"bootcmd=bootm 0xc0042000\0"
  	"ethaddr=00:30:49:00:00:01\0"
 -	"ipaddr=10.0.1.73\0"
diff --git a/target/linux/at91/image/u-boot/patches/014-ubparam-kernel.patch b/target/linux/at91/image/u-boot/patches/014-ubparam-kernel.patch
index f6d0a1b191b..26f03474e19 100644
--- a/target/linux/at91/image/u-boot/patches/014-ubparam-kernel.patch
+++ b/target/linux/at91/image/u-boot/patches/014-ubparam-kernel.patch
@@ -2,10 +2,10 @@
 +++ u-boot-1.1.4/tools/ubparams.c	2007-06-19 14:25:05.000000000 +0200
 @@ -39,7 +39,7 @@
  	"stderr=serial\0"
- 	"fbargs=setenv bootargs root=/dev/mtdblock3 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
- 	"rdba=setenv bootargs root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
+ 	"fbargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
+ 	"rdba=setenv bootargs root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
 -	"rdram=run rdba; tftp 21000000 vImage; tftp 21200000 root.squashfs; bootm 21000000\0"
 +	"rdram=run rdba; tftp 21000000 uImage; tftp 21200000 root.squashfs; bootm 21000000\0"
  	"flash=run fbargs; bootm 0xc0042000\0"
- 	"bootargs=setenv bootargs root=/dev/mtdblock3 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
+ 	"bootargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
  	"bootcmd=bootm 0xc0042000\0"
diff --git a/target/linux/at91/image/u-boot/ubclient/ubpar.c b/target/linux/at91/image/u-boot/ubclient/ubpar.c
index 7e8ea0eb2d9..edc5b2cdbd2 100644
--- a/target/linux/at91/image/u-boot/ubclient/ubpar.c
+++ b/target/linux/at91/image/u-boot/ubclient/ubpar.c
@@ -46,11 +46,11 @@ static char *environment[] = {
 	"stdin=serial\0"
 	"stdout=serial\0"
 	"stderr=serial\0"
-	"fbargs=setenv bootargs root=/dev/mtdblock3 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
-	"rdba=setenv bootargs root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
+	"fbargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
+	"rdba=setenv bootargs root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
 	"rdram=run rdba; tftp 21000000 uImage; tftp 21200000 root.squashfs; bootm 21000000\0"
 	"flash=run fbargs; bootm 0xc0042000\0"
-	"bootargs=setenv bootargs root=/dev/mtdblock3 ro init=/etc/preinit console=/dev/ttyS0,115200,mem=32M\0"
+	"bootargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
 	"bootcmd=bootm 0xc0042000\0"
 	"ipaddr=" MK_STR(LAN_IP) "\0"
 	"serverip=" MK_STR(LAN_SERVERIP) "\0"
diff --git a/target/linux/atheros/config-2.6.28 b/target/linux/atheros/config-2.6.28
index 39382670848..a157dafc9d2 100644
--- a/target/linux/atheros/config-2.6.28
+++ b/target/linux/atheros/config-2.6.28
@@ -19,7 +19,7 @@ CONFIG_BASE_SMALL=0
 CONFIG_BITREVERSE=y
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2 init=/etc/preinit"
+CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2"
 CONFIG_CPU_BIG_ENDIAN=y
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/au1000/au1500/config-default b/target/linux/au1000/au1500/config-default
index 5a27eda41f0..2b3ddb65c88 100644
--- a/target/linux/au1000/au1500/config-default
+++ b/target/linux/au1000/au1500/config-default
@@ -14,7 +14,7 @@ CONFIG_BASE_SMALL=0
 CONFIG_BITREVERSE=y
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="root=/dev/mtdblock0 rootfstype=squashfs,jffs2 init=/etc/preinit"
+CONFIG_CMDLINE="root=/dev/mtdblock0 rootfstype=squashfs,jffs2"
 # CONFIG_CPU_BIG_ENDIAN is not set
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/au1000/au1550/config-default b/target/linux/au1000/au1550/config-default
index 6dc238c3952..a3623adfe09 100644
--- a/target/linux/au1000/au1550/config-default
+++ b/target/linux/au1000/au1550/config-default
@@ -15,7 +15,7 @@ CONFIG_BITREVERSE=y
 CONFIG_CEVT_R4K=y
 # CONFIG_CFG80211 is not set
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="root=/dev/mtdblock0 rootfstype=squashfs,jffs2 init=/etc/preinit"
+CONFIG_CMDLINE="root=/dev/mtdblock0 rootfstype=squashfs,jffs2"
 # CONFIG_CPU_BIG_ENDIAN is not set
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/brcm47xx/config-2.6.28 b/target/linux/brcm47xx/config-2.6.28
index a47339c14cb..9858c2f07da 100644
--- a/target/linux/brcm47xx/config-2.6.28
+++ b/target/linux/brcm47xx/config-2.6.28
@@ -20,7 +20,7 @@ CONFIG_BITREVERSE=y
 CONFIG_CEVT_R4K=y
 CONFIG_CFE=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 # CONFIG_CPU_BIG_ENDIAN is not set
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/brcm63xx/config-2.6.27 b/target/linux/brcm63xx/config-2.6.27
index aab9271c88e..fb72aa26b7c 100644
--- a/target/linux/brcm63xx/config-2.6.27
+++ b/target/linux/brcm63xx/config-2.6.27
@@ -27,7 +27,7 @@ CONFIG_BOARD_BCM963XX=y
 CONFIG_BSD_PROCESS_ACCT_V3=y
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 CONFIG_CPU_BIG_ENDIAN=y
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/cavium-octeon/config-default b/target/linux/cavium-octeon/config-default
index 560ec7361bb..5472f6850f2 100644
--- a/target/linux/cavium-octeon/config-default
+++ b/target/linux/cavium-octeon/config-default
@@ -44,7 +44,7 @@ CONFIG_CAVIUM_OCTEON_SPECIFIC_OPTIONS=y
 CONFIG_CEVT_R4K=y
 CONFIG_CEVT_R4K_LIB=y
 # CONFIG_CGROUP_SCHED is not set
-CONFIG_CMDLINE="console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="console=ttyS0,115200"
 # CONFIG_COMEDI is not set
 CONFIG_COMPAT=y
 CONFIG_COMPAT_BRK=y
diff --git a/target/linux/cavium-octeon/config/profile-simulator b/target/linux/cavium-octeon/config/profile-simulator
index 5ccd9c7f112..5fbefec1453 100644
--- a/target/linux/cavium-octeon/config/profile-simulator
+++ b/target/linux/cavium-octeon/config/profile-simulator
@@ -1,2 +1,2 @@
-CONFIG_CMDLINE="console=ttyS0,115200 init=/etc/preinit numcores=16"
+CONFIG_CMDLINE="console=ttyS0,115200 numcores=16"
 CONFIG_CAVIUM_OCTEON_SIMULATOR=y
diff --git a/target/linux/etrax/config-2.6.25 b/target/linux/etrax/config-2.6.25
index d287655dd55..2f59494d412 100644
--- a/target/linux/etrax/config-2.6.25
+++ b/target/linux/etrax/config-2.6.25
@@ -14,7 +14,7 @@ CONFIG_ETRAX100LX_V2=y
 CONFIG_ETRAX_ARCH_V10=y
 # CONFIG_ETRAX_ARCH_V32 is not set
 CONFIG_ETRAX_AXISFLASHMAP=y
-CONFIG_ETRAX_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200"
+CONFIG_ETRAX_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 # CONFIG_ETRAX_CSP0_LEDS is not set
 # CONFIG_ETRAX_DEBUG_PORT0 is not set
 # CONFIG_ETRAX_DEBUG_PORT1 is not set
diff --git a/target/linux/etrax/config-2.6.30 b/target/linux/etrax/config-2.6.30
index 054793f91a5..328d2ab6c33 100644
--- a/target/linux/etrax/config-2.6.30
+++ b/target/linux/etrax/config-2.6.30
@@ -16,7 +16,7 @@ CONFIG_ETRAX100LX_V2=y
 CONFIG_ETRAX_ARCH_V10=y
 # CONFIG_ETRAX_ARCH_V32 is not set
 CONFIG_ETRAX_AXISFLASHMAP=y
-CONFIG_ETRAX_CMDLINE="root=/dev/mtdblock1 rootfstype=jffs2 init=/etc/preinit noinitrd console=ttyS0,115200"
+CONFIG_ETRAX_CMDLINE="root=/dev/mtdblock1 rootfstype=jffs2 noinitrd console=ttyS0,115200"
 # CONFIG_ETRAX_CSP0_LEDS is not set
 # CONFIG_ETRAX_DEBUG_PORT0 is not set
 # CONFIG_ETRAX_DEBUG_PORT1 is not set
diff --git a/target/linux/gemini/config-default b/target/linux/gemini/config-default
index 8f4c18288c5..d6010cdb161 100644
--- a/target/linux/gemini/config-default
+++ b/target/linux/gemini/config-default
@@ -61,7 +61,7 @@ CONFIG_BITREVERSE=y
 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
 # CONFIG_BOOT_PRINTK_DELAY is not set
 # CONFIG_BOOT_TRACER is not set
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,19200 init=/etc/preinit mem=32M"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,19200 mem=32M"
 CONFIG_COMPAT_NET_DEV_OPS=y
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CPU_32v4=y
diff --git a/target/linux/generic-2.6/patches-2.6.21/999-use_preinit_as_init.patch b/target/linux/generic-2.6/patches-2.6.21/999-use_preinit_as_init.patch
new file mode 100644
index 00000000000..e38dfacfdce
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.21/999-use_preinit_as_init.patch
@@ -0,0 +1,14 @@
+--- a/init/main.c
++++ b/init/main.c
+@@ -764,10 +764,7 @@ static int noinline init_post(void)
+ 		printk(KERN_WARNING "Failed to execute %s.  Attempting "
+ 					"defaults...\n", execute_command);
+ 	}
+-	run_init_process("/sbin/init");
+-	run_init_process("/etc/init");
+-	run_init_process("/bin/init");
+-	run_init_process("/bin/sh");
++	run_init_process("/etc/preinit");
+ 
+ 	panic("No init found.  Try passing init= option to kernel.");
+ }
diff --git a/target/linux/generic-2.6/patches-2.6.23/999-use_preinit_as_init.patch b/target/linux/generic-2.6/patches-2.6.23/999-use_preinit_as_init.patch
new file mode 100644
index 00000000000..afb8adeb447
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.23/999-use_preinit_as_init.patch
@@ -0,0 +1,14 @@
+--- a/init/main.c
++++ b/init/main.c
+@@ -802,10 +802,7 @@ static int noinline init_post(void)
+ 		printk(KERN_WARNING "Failed to execute %s.  Attempting "
+ 					"defaults...\n", execute_command);
+ 	}
+-	run_init_process("/sbin/init");
+-	run_init_process("/etc/init");
+-	run_init_process("/bin/init");
+-	run_init_process("/bin/sh");
++	run_init_process("/etc/preinit");
+ 
+ 	panic("No init found.  Try passing init= option to kernel.");
+ }
diff --git a/target/linux/generic-2.6/patches-2.6.25/999-use_preinit_as_init.patch b/target/linux/generic-2.6/patches-2.6.25/999-use_preinit_as_init.patch
new file mode 100644
index 00000000000..d61546d3173
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.25/999-use_preinit_as_init.patch
@@ -0,0 +1,14 @@
+--- a/init/main.c
++++ b/init/main.c
+@@ -797,10 +797,7 @@ static int noinline init_post(void)
+ 		printk(KERN_WARNING "Failed to execute %s.  Attempting "
+ 					"defaults...\n", execute_command);
+ 	}
+-	run_init_process("/sbin/init");
+-	run_init_process("/etc/init");
+-	run_init_process("/bin/init");
+-	run_init_process("/bin/sh");
++	run_init_process("/etc/preinit");
+ 
+ 	panic("No init found.  Try passing init= option to kernel.");
+ }
diff --git a/target/linux/generic-2.6/patches-2.6.27/999-use_preinit_as_init.patch b/target/linux/generic-2.6/patches-2.6.27/999-use_preinit_as_init.patch
new file mode 100644
index 00000000000..ab104032fa0
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.27/999-use_preinit_as_init.patch
@@ -0,0 +1,14 @@
+--- a/init/main.c
++++ b/init/main.c
+@@ -825,10 +825,7 @@ static int noinline init_post(void)
+ 		printk(KERN_WARNING "Failed to execute %s.  Attempting "
+ 					"defaults...\n", execute_command);
+ 	}
+-	run_init_process("/sbin/init");
+-	run_init_process("/etc/init");
+-	run_init_process("/bin/init");
+-	run_init_process("/bin/sh");
++	run_init_process("/etc/preinit");
+ 
+ 	panic("No init found.  Try passing init= option to kernel.");
+ }
diff --git a/target/linux/generic-2.6/patches-2.6.28/999-use_preinit_as_init.patch b/target/linux/generic-2.6/patches-2.6.28/999-use_preinit_as_init.patch
new file mode 100644
index 00000000000..ab104032fa0
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.28/999-use_preinit_as_init.patch
@@ -0,0 +1,14 @@
+--- a/init/main.c
++++ b/init/main.c
+@@ -825,10 +825,7 @@ static int noinline init_post(void)
+ 		printk(KERN_WARNING "Failed to execute %s.  Attempting "
+ 					"defaults...\n", execute_command);
+ 	}
+-	run_init_process("/sbin/init");
+-	run_init_process("/etc/init");
+-	run_init_process("/bin/init");
+-	run_init_process("/bin/sh");
++	run_init_process("/etc/preinit");
+ 
+ 	panic("No init found.  Try passing init= option to kernel.");
+ }
diff --git a/target/linux/generic-2.6/patches-2.6.29/999-use_preinit_as_init.patch b/target/linux/generic-2.6/patches-2.6.29/999-use_preinit_as_init.patch
new file mode 100644
index 00000000000..bcfc6bb7757
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.29/999-use_preinit_as_init.patch
@@ -0,0 +1,14 @@
+--- a/init/main.c
++++ b/init/main.c
+@@ -821,10 +821,7 @@ static noinline int init_post(void)
+ 		printk(KERN_WARNING "Failed to execute %s.  Attempting "
+ 					"defaults...\n", execute_command);
+ 	}
+-	run_init_process("/sbin/init");
+-	run_init_process("/etc/init");
+-	run_init_process("/bin/init");
+-	run_init_process("/bin/sh");
++	run_init_process("/etc/preinit");
+ 
+ 	panic("No init found.  Try passing init= option to kernel.");
+ }
diff --git a/target/linux/generic-2.6/patches-2.6.30/999-use_preinit_as_init.patch b/target/linux/generic-2.6/patches-2.6.30/999-use_preinit_as_init.patch
new file mode 100644
index 00000000000..0a52a87e83c
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.30/999-use_preinit_as_init.patch
@@ -0,0 +1,14 @@
+--- a/init/main.c
++++ b/init/main.c
+@@ -836,10 +836,7 @@ static noinline int init_post(void)
+ 		printk(KERN_WARNING "Failed to execute %s.  Attempting "
+ 					"defaults...\n", execute_command);
+ 	}
+-	run_init_process("/sbin/init");
+-	run_init_process("/etc/init");
+-	run_init_process("/bin/init");
+-	run_init_process("/bin/sh");
++	run_init_process("/etc/preinit");
+ 
+ 	panic("No init found.  Try passing init= option to kernel.");
+ }
diff --git a/target/linux/ifxmips/config-2.6.26 b/target/linux/ifxmips/config-2.6.26
index 0f7a1d26d1b..d4f576be011 100644
--- a/target/linux/ifxmips/config-2.6.26
+++ b/target/linux/ifxmips/config-2.6.26
@@ -14,7 +14,7 @@ CONFIG_BITREVERSE=y
 # CONFIG_BT is not set
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2 init=/etc/preinit"
+CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2"
 CONFIG_CPU_BIG_ENDIAN=y
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/ifxmips/config-2.6.27 b/target/linux/ifxmips/config-2.6.27
index e5eabb1c472..4e114543bb3 100644
--- a/target/linux/ifxmips/config-2.6.27
+++ b/target/linux/ifxmips/config-2.6.27
@@ -14,7 +14,7 @@ CONFIG_BITREVERSE=y
 # CONFIG_BT is not set
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2 init=/etc/preinit"
+CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2"
 CONFIG_CPU_BIG_ENDIAN=y
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/ifxmips/config-2.6.28 b/target/linux/ifxmips/config-2.6.28
index 3a13fdb2fcf..75dd6d5b5a8 100644
--- a/target/linux/ifxmips/config-2.6.28
+++ b/target/linux/ifxmips/config-2.6.28
@@ -12,7 +12,7 @@ CONFIG_BASE_SMALL=0
 CONFIG_BITREVERSE=y
 CONFIG_CEVT_R4K=y
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2 init=/etc/preinit"
+CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2"
 CONFIG_CPU_BIG_ENDIAN=y
 CONFIG_CPU_HAS_LLSC=y
 CONFIG_CPU_HAS_PREFETCH=y
diff --git a/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c b/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c
index 9fbd4e457ed..efd472fb0eb 100644
--- a/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c
+++ b/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c
@@ -127,7 +127,7 @@ void __init prom_init(void)
 		}
 		if (!*arcs_cmdline)
 			strcpy(&(arcs_cmdline[0]),
-				"console=ttyS0,115200 rootfstype=squashfs,jffs2 init=/etc/preinit");
+				"console=ttyS0,115200 rootfstype=squashfs,jffs2");
 	}
 	envp = (char **)KSEG1ADDR((unsigned long)envp);
 	while (*envp) {
diff --git a/target/linux/iop32x/config-default b/target/linux/iop32x/config-default
index bd8044f6dc7..c85d757cb83 100644
--- a/target/linux/iop32x/config-default
+++ b/target/linux/iop32x/config-default
@@ -67,7 +67,7 @@ CONFIG_BOUNCE=y
 # CONFIG_BT is not set
 # CONFIG_CIFS_STATS is not set
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CPU_32=y
 CONFIG_CPU_32v5=y
diff --git a/target/linux/ixp4xx/config-2.6.27 b/target/linux/ixp4xx/config-2.6.27
index 7e2e50a2e9c..8a8261bd9b7 100644
--- a/target/linux/ixp4xx/config-2.6.27
+++ b/target/linux/ixp4xx/config-2.6.27
@@ -70,7 +70,7 @@ CONFIG_BOUNCE=y
 # CONFIG_BSD_DISKLABEL is not set
 # CONFIG_CIFS_STATS is not set
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CPU_32=y
 CONFIG_CPU_32v5=y
diff --git a/target/linux/ixp4xx/config-2.6.28 b/target/linux/ixp4xx/config-2.6.28
index bbfaff8f4e6..17ab7af5c39 100644
--- a/target/linux/ixp4xx/config-2.6.28
+++ b/target/linux/ixp4xx/config-2.6.28
@@ -71,7 +71,7 @@ CONFIG_BOUNCE=y
 # CONFIG_BSD_DISKLABEL is not set
 # CONFIG_CIFS_STATS is not set
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CPU_32=y
 CONFIG_CPU_32v5=y
diff --git a/target/linux/ixp4xx/config-2.6.29 b/target/linux/ixp4xx/config-2.6.29
index aa42ea3298d..1c8082e7b3b 100644
--- a/target/linux/ixp4xx/config-2.6.29
+++ b/target/linux/ixp4xx/config-2.6.29
@@ -58,7 +58,7 @@ CONFIG_ARM=y
 CONFIG_BASE_SMALL=0
 CONFIG_BITREVERSE=y
 CONFIG_BOUNCE=y
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 CONFIG_COMPAT_NET_DEV_OPS=y
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CPU_32=y
diff --git a/target/linux/ixp4xx/config-2.6.30 b/target/linux/ixp4xx/config-2.6.30
index 2bc5997504e..81a7fa0dafa 100644
--- a/target/linux/ixp4xx/config-2.6.30
+++ b/target/linux/ixp4xx/config-2.6.30
@@ -60,7 +60,7 @@ CONFIG_ARM=y
 CONFIG_BASE_SMALL=0
 CONFIG_BITREVERSE=y
 CONFIG_BOUNCE=y
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 CONFIG_COMPAT_NET_DEV_OPS=y
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CPU_32=y
diff --git a/target/linux/ixp4xx/config-default b/target/linux/ixp4xx/config-default
index 5d7595db022..110a9adf660 100644
--- a/target/linux/ixp4xx/config-default
+++ b/target/linux/ixp4xx/config-default
@@ -68,7 +68,7 @@ CONFIG_BOUNCE=y
 # CONFIG_BSD_DISKLABEL is not set
 # CONFIG_CIFS_STATS is not set
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CPU_32=y
 CONFIG_CPU_32v5=y
diff --git a/target/linux/kirkwood/config-default b/target/linux/kirkwood/config-default
index 1bdc887f9e1..35a896380d2 100644
--- a/target/linux/kirkwood/config-default
+++ b/target/linux/kirkwood/config-default
@@ -58,7 +58,7 @@ CONFIG_BASE_SMALL=0
 CONFIG_BITREVERSE=y
 CONFIG_CACHE_FEROCEON_L2=y
 # CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
-CONFIG_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 CONFIG_COMPAT_NET_DEV_OPS=y
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CPU_32=y
diff --git a/target/linux/olpc/image/Makefile b/target/linux/olpc/image/Makefile
index 4945022ba7f..eb1bedd0a05 100644
--- a/target/linux/olpc/image/Makefile
+++ b/target/linux/olpc/image/Makefile
@@ -15,19 +15,19 @@ ROOTDELAY=5
 
 ifeq ($(CONFIG_OLPC_BOOTSCRIPT_IMAGES),y)
   define Image/cmdline/squashfs
-    block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs init=/etc/preinit rootdelay=$(ROOTDELAY)
+    block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs rootdelay=$(ROOTDELAY)
   endef
 
   define Image/cmdline/jffs2-64k
-    block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=jffs2 init=/etc/preinit rootdelay=$(ROOTDELAY)
+    block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=jffs2 rootdelay=$(ROOTDELAY)
   endef
 
   define Image/cmdline/jffs2-128k
-    block2mtd.block2mtd=$(ROOTPART),131072,rootfs root=/dev/mtdblock0 rootfstype=jffs2 init=/etc/preinit rootdelay=$(ROOTDELAY)
+    block2mtd.block2mtd=$(ROOTPART),131072,rootfs root=/dev/mtdblock0 rootfstype=jffs2 rootdelay=$(ROOTDELAY)
   endef
 
   define Image/cmdline/ext2
-    root=$(ROOTPART) rootfstype=ext2 init=/etc/preinit
+    root=$(ROOTPART) rootfstype=ext2
   endef
 
   define Image/Build/bootscript
diff --git a/target/linux/orion/config-default b/target/linux/orion/config-default
index 35dc44f8a3b..68d39d6e25f 100644
--- a/target/linux/orion/config-default
+++ b/target/linux/orion/config-default
@@ -67,7 +67,7 @@ CONFIG_BOUNCE=y
 # CONFIG_BT is not set
 # CONFIG_CIFS_STATS is not set
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CPU_32=y
 CONFIG_CPU_32v5=y
diff --git a/target/linux/ppc40x/config-default b/target/linux/ppc40x/config-default
index 912a10fe22b..a4beb3574e4 100644
--- a/target/linux/ppc40x/config-default
+++ b/target/linux/ppc40x/config-default
@@ -23,7 +23,7 @@ CONFIG_BITREVERSE=y
 CONFIG_BOUNCE=y
 # CONFIG_BT is not set
 CONFIG_CLASSIC_RCU=y
-CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd init=/etc/preinit"
+CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd"
 CONFIG_CMDLINE_BOOL=y
 CONFIG_CONSISTENT_SIZE=0x00200000
 CONFIG_CONSISTENT_START=0xff100000
diff --git a/target/linux/ppc44x/config-default b/target/linux/ppc44x/config-default
index e313119e4c0..da0a1741e77 100644
--- a/target/linux/ppc44x/config-default
+++ b/target/linux/ppc44x/config-default
@@ -19,7 +19,7 @@ CONFIG_BOOKE=y
 # CONFIG_BOOKE_WDT is not set
 CONFIG_BOOT_LOAD=0x01000000
 # CONFIG_BT is not set
-CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd init=/etc/preinit"
+CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd"
 CONFIG_CMDLINE_BOOL=y
 CONFIG_CONSISTENT_SIZE=0x00200000
 CONFIG_CONSISTENT_START=0xff100000
diff --git a/target/linux/ppc44x/patches/100-openwrt_dts_cmdline.patch b/target/linux/ppc44x/patches/100-openwrt_dts_cmdline.patch
index 3c1a7570a64..e61943014ca 100644
--- a/target/linux/ppc44x/patches/100-openwrt_dts_cmdline.patch
+++ b/target/linux/ppc44x/patches/100-openwrt_dts_cmdline.patch
@@ -4,6 +4,6 @@
  
  	chosen {
  		linux,stdout-path = "/plb/opb/serial@40000300";
-+		bootargs = "console=ttyS1,115200 root=/dev/mtdblock1 rootfstype=squashfs noinitrd init=/etc/preinit";
++		bootargs = "console=ttyS1,115200 root=/dev/mtdblock1 rootfstype=squashfs noinitrd";
  	};
  };
diff --git a/target/linux/rb532/base-files/sbin/cf2nand b/target/linux/rb532/base-files/sbin/cf2nand
index 5b838dbbb97..60542de1e19 100755
--- a/target/linux/rb532/base-files/sbin/cf2nand
+++ b/target/linux/rb532/base-files/sbin/cf2nand
@@ -45,7 +45,7 @@ mount -t yaffs2 "$boot" /tmp/cf2nand/p1
 mount -t yaffs2 "$main" /tmp/cf2nand/p2
 
 echo "Copying kernel..."
-copy_kernel /dev/cfa1 /tmp/cf2nand/p1/kernel "root=/dev/mtdblock1 rootfstype=yaffs2 init=/etc/preinit " 2>/dev/null >/dev/null
+copy_kernel /dev/cfa1 /tmp/cf2nand/p1/kernel "root=/dev/mtdblock1 rootfstype=yaffs2 " 2>/dev/null >/dev/null
 umount /tmp/cf2nand/p1
 rmdir /tmp/cf2nand/p1
 
@@ -55,7 +55,7 @@ echo "chmod ugo+x /" > /tmp/cf2nand/p2/etc/uci-defaults/set_root_permission
 sync
 # Use kexec is present
 [ -x /usr/bin/kexec ] && {
-	kexec -l /tmp/cf2nand/p1/kernel --command-line="$(cat /proc/cmdline) root=/dev/mtdblock1 rootfstype=yaffs2 init=/etc/preinit"
+	kexec -l /tmp/cf2nand/p1/kernel --command-line="$(cat /proc/cmdline) root=/dev/mtdblock1 rootfstype=yaffs2"
 	kexec -e
 }
 umount /tmp/cf2nand/p2
diff --git a/target/linux/rb532/base-files/sbin/wget2nand b/target/linux/rb532/base-files/sbin/wget2nand
index b0f4205e78b..57f4128642d 100755
--- a/target/linux/rb532/base-files/sbin/wget2nand
+++ b/target/linux/rb532/base-files/sbin/wget2nand
@@ -57,7 +57,7 @@ ls /tmp/wget2nand-boot/
 ls /tmp/wget2nand/
 # use kexec if present
 [ -x /usr/bin/kexec ] && {
-	kexec -l /tmp/wget2nand-boot/kernel --command-line="$(cat /proc/cmdline) root=$main rootfstype=yaffs2 init=/etc/preinit"
+	kexec -l /tmp/wget2nand-boot/kernel --command-line="$(cat /proc/cmdline) root=$main rootfstype=yaffs2"
 	kexec -e
 }
 
diff --git a/target/linux/rb532/image/Makefile b/target/linux/rb532/image/Makefile
index 9d0857dec84..9f1ec23057e 100644
--- a/target/linux/rb532/image/Makefile
+++ b/target/linux/rb532/image/Makefile
@@ -34,23 +34,23 @@ define Image/BuildKernel
 endef
 
 define Image/cmdline/jffs2-64k
-block2mtd.block2mtd=/dev/sda2,65536 root=/dev/mtdblock0 rootfstype=jffs2 init=/etc/preinit
+block2mtd.block2mtd=/dev/sda2,65536 root=/dev/mtdblock0 rootfstype=jffs2
 endef
 
 define Image/cmdline/jffs2-128k
-block2mtd.block2mtd=/dev/sda2,131072 root=/dev/mtdblock0 rootfstype=jffs2 init=/etc/preinit
+block2mtd.block2mtd=/dev/sda2,131072 root=/dev/mtdblock0 rootfstype=jffs2
 endef
 
 define Image/cmdline/ext2
-root=/dev/sda2 rootfstype=ext2 init=/etc/preinit
+root=/dev/sda2 rootfstype=ext2
 endef
 
 define Image/cmdline/squashfs
-block2mtd.block2mtd=/dev/sda2,65536 root=/dev/mtdblock0 rootfstype=squashfs init=/etc/preinit
+block2mtd.block2mtd=/dev/sda2,65536 root=/dev/mtdblock0 rootfstype=squashfs
 endef
 
 define Image/cmdline/yaffs2
-root=/dev/mtdblock1 rootfstype=yaffs2 init=/etc/preinit
+root=/dev/mtdblock1 rootfstype=yaffs2
 endef
 
 define Image/Build
diff --git a/target/linux/rdc/config-2.6.28 b/target/linux/rdc/config-2.6.28
index dac461ff814..6539e9c3402 100644
--- a/target/linux/rdc/config-2.6.28
+++ b/target/linux/rdc/config-2.6.28
@@ -32,7 +32,7 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
 CONFIG_BOUNCE=y
 CONFIG_CLASSIC_RCU=y
 CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_CMDLINE="console=ttyS0,38400 init=/etc/preinit"
+CONFIG_CMDLINE="console=ttyS0,38400"
 CONFIG_CMDLINE_BOOL=y
 # CONFIG_CMDLINE_OVERRIDE is not set
 # CONFIG_COMPAT_VDSO is not set
diff --git a/target/linux/s3c24xx/patches-2.6.28/002-call-preinit-instead-of-init.patch b/target/linux/s3c24xx/patches-2.6.28/002-call-preinit-instead-of-init.patch
deleted file mode 100644
index 8ab3a5ce325..00000000000
--- a/target/linux/s3c24xx/patches-2.6.28/002-call-preinit-instead-of-init.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/init/main.c
-+++ b/init/main.c
-@@ -825,6 +825,7 @@ static int noinline init_post(void)
- 		printk(KERN_WARNING "Failed to execute %s.  Attempting "
- 					"defaults...\n", execute_command);
- 	}
-+	run_init_process("/etc/preinit");
- 	run_init_process("/sbin/init");
- 	run_init_process("/etc/init");
- 	run_init_process("/bin/init");
diff --git a/target/linux/s3c24xx/patches-2.6.29/002-call-preinit-instead-of-init.patch b/target/linux/s3c24xx/patches-2.6.29/002-call-preinit-instead-of-init.patch
deleted file mode 100644
index 8ab3a5ce325..00000000000
--- a/target/linux/s3c24xx/patches-2.6.29/002-call-preinit-instead-of-init.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/init/main.c
-+++ b/init/main.c
-@@ -825,6 +825,7 @@ static int noinline init_post(void)
- 		printk(KERN_WARNING "Failed to execute %s.  Attempting "
- 					"defaults...\n", execute_command);
- 	}
-+	run_init_process("/etc/preinit");
- 	run_init_process("/sbin/init");
- 	run_init_process("/etc/init");
- 	run_init_process("/bin/init");
diff --git a/target/linux/sibyte/config-default b/target/linux/sibyte/config-default
index e2503fae14e..ccc8a79687f 100644
--- a/target/linux/sibyte/config-default
+++ b/target/linux/sibyte/config-default
@@ -27,7 +27,7 @@ CONFIG_CFE=y
 CONFIG_CLASSIC_RCU=y
 # CONFIG_CLS_U32_MARK is not set
 # CONFIG_CLS_U32_PERF is not set
-CONFIG_CMDLINE="rootfstype=squashfs,yaffs,jffs2 noinitrd console=duart0,115200 init=/etc/preinit"
+CONFIG_CMDLINE="rootfstype=squashfs,jffs2 noinitrd console=duart0,115200"
 CONFIG_COMPAT=y
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CONNECTOR=m
diff --git a/target/linux/storm/config-default b/target/linux/storm/config-default
index e98fe781ed0..9a59d098923 100644
--- a/target/linux/storm/config-default
+++ b/target/linux/storm/config-default
@@ -54,7 +54,7 @@ CONFIG_BOUNCE=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 # CONFIG_CIFS is not set
 # CONFIG_CLS_U32_PERF is not set
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,19200 init=/etc/preinit mem=32M loglevel=8"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,19200 mem=32M"
 # CONFIG_CONFIGFS_FS is not set
 CONFIG_CPU_32=y
 CONFIG_CPU_32v4=y
diff --git a/target/linux/uml/README b/target/linux/uml/README
index 2ef27a374f0..5a33d9199e0 100644
--- a/target/linux/uml/README
+++ b/target/linux/uml/README
@@ -17,7 +17,7 @@ build it all
 In your bin directory you will find a kernel and an ext2 root file system
 when it's finished.  Just run it like this:-
 
-bin/openwrt-uml-vmlinux ubd0=bin/openwrt-uml-ext2.img con=null ssl=null ssl0=fd:0,fd:1 con0=null,fd:2 init=/etc/preinit
+bin/openwrt-uml-vmlinux ubd0=bin/openwrt-uml-ext2.img con=null ssl=null ssl0=fd:0,fd:1 con0=null,fd:2
 
 The uml will start, and eventually the serial console of the uml will be at your
 console prompt.  If you would like it in xterms, substitute con=xterm and con0=xterm.
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
index e64fa199256..6d3c77b77d6 100644
--- a/target/linux/x86/image/Makefile
+++ b/target/linux/x86/image/Makefile
@@ -16,19 +16,19 @@ ROOTPART=$(strip $(subst ",, $(CONFIG_X86_GRUB_ROOTPART)))
 ifeq ($(CONFIG_X86_GRUB_IMAGES),y)
 ifneq ($(HOST_OS),Darwin)
   define Image/cmdline/squashfs
-    block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs init=/etc/preinit
+    block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs
   endef
 
   define Image/cmdline/jffs2-64k
-    block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=jffs2 init=/etc/preinit
+    block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=jffs2
   endef
 
   define Image/cmdline/jffs2-128k
-    block2mtd.block2mtd=$(ROOTPART),131072,rootfs root=/dev/mtdblock0 rootfstype=jffs2 init=/etc/preinit
+    block2mtd.block2mtd=$(ROOTPART),131072,rootfs root=/dev/mtdblock0 rootfstype=jffs2
   endef
 
   define Image/cmdline/ext2
-    root=$(ROOTPART) rootfstype=ext2 init=/etc/preinit
+    root=$(ROOTPART) rootfstype=ext2
   endef
   
   define Image/Build/grub