From a9c958c2de59e0747b5dcf82f5fd5b1aaf956c3b Mon Sep 17 00:00:00 2001
From: Imre Kaloz <kaloz@openwrt.org>
Date: Thu, 14 May 2009 10:20:53 +0000
Subject: [PATCH] make kernels use /etc/preinit by default

SVN-Revision: 15840
---
 target/linux/adm5120/image/router_le.mk            |  2 +-
 target/linux/adm5120/router_be/config-2.6.28       |  2 +-
 target/linux/adm5120/router_le/config-2.6.28       |  2 +-
 target/linux/amazon/files/arch/mips/amazon/prom.c  |  2 +-
 target/linux/ar7/config-2.6.26                     |  2 +-
 target/linux/ar7/config-2.6.27                     |  2 +-
 target/linux/ar71xx/config-2.6.28                  |  2 +-
 target/linux/ar71xx/config-2.6.29                  |  2 +-
 target/linux/ar71xx/config-2.6.30                  |  2 +-
 .../image/u-boot/patches/006-generate_params.patch |  6 +++---
 .../image/u-boot/patches/011-ubparams_update.patch | 12 ++++++------
 .../u-boot/patches/013-params-in-config.patch      |  2 +-
 .../image/u-boot/patches/014-ubparam-kernel.patch  |  6 +++---
 target/linux/at91/image/u-boot/ubclient/ubpar.c    |  6 +++---
 target/linux/atheros/config-2.6.28                 |  2 +-
 target/linux/au1000/au1500/config-default          |  2 +-
 target/linux/au1000/au1550/config-default          |  2 +-
 target/linux/brcm47xx/config-2.6.28                |  2 +-
 target/linux/brcm63xx/config-2.6.27                |  2 +-
 target/linux/cavium-octeon/config-default          |  2 +-
 .../linux/cavium-octeon/config/profile-simulator   |  2 +-
 target/linux/etrax/config-2.6.25                   |  2 +-
 target/linux/etrax/config-2.6.30                   |  2 +-
 target/linux/gemini/config-default                 |  2 +-
 .../patches-2.6.21/999-use_preinit_as_init.patch   | 14 ++++++++++++++
 .../patches-2.6.23/999-use_preinit_as_init.patch   | 14 ++++++++++++++
 .../patches-2.6.25/999-use_preinit_as_init.patch   | 14 ++++++++++++++
 .../patches-2.6.27/999-use_preinit_as_init.patch   | 14 ++++++++++++++
 .../patches-2.6.28/999-use_preinit_as_init.patch   | 14 ++++++++++++++
 .../patches-2.6.29/999-use_preinit_as_init.patch   | 14 ++++++++++++++
 .../patches-2.6.30/999-use_preinit_as_init.patch   | 14 ++++++++++++++
 target/linux/ifxmips/config-2.6.26                 |  2 +-
 target/linux/ifxmips/config-2.6.27                 |  2 +-
 target/linux/ifxmips/config-2.6.28                 |  2 +-
 .../linux/ifxmips/files/arch/mips/ifxmips/prom.c   |  2 +-
 target/linux/iop32x/config-default                 |  2 +-
 target/linux/ixp4xx/config-2.6.27                  |  2 +-
 target/linux/ixp4xx/config-2.6.28                  |  2 +-
 target/linux/ixp4xx/config-2.6.29                  |  2 +-
 target/linux/ixp4xx/config-2.6.30                  |  2 +-
 target/linux/ixp4xx/config-default                 |  2 +-
 target/linux/kirkwood/config-default               |  2 +-
 target/linux/olpc/image/Makefile                   |  8 ++++----
 target/linux/orion/config-default                  |  2 +-
 target/linux/ppc40x/config-default                 |  2 +-
 target/linux/ppc44x/config-default                 |  2 +-
 .../ppc44x/patches/100-openwrt_dts_cmdline.patch   |  2 +-
 target/linux/rb532/base-files/sbin/cf2nand         |  4 ++--
 target/linux/rb532/base-files/sbin/wget2nand       |  2 +-
 target/linux/rb532/image/Makefile                  | 10 +++++-----
 target/linux/rdc/config-2.6.28                     |  2 +-
 .../002-call-preinit-instead-of-init.patch         | 10 ----------
 .../002-call-preinit-instead-of-init.patch         | 10 ----------
 target/linux/sibyte/config-default                 |  2 +-
 target/linux/storm/config-default                  |  2 +-
 target/linux/uml/README                            |  2 +-
 target/linux/x86/image/Makefile                    |  8 ++++----
 57 files changed, 168 insertions(+), 90 deletions(-)
 create mode 100644 target/linux/generic-2.6/patches-2.6.21/999-use_preinit_as_init.patch
 create mode 100644 target/linux/generic-2.6/patches-2.6.23/999-use_preinit_as_init.patch
 create mode 100644 target/linux/generic-2.6/patches-2.6.25/999-use_preinit_as_init.patch
 create mode 100644 target/linux/generic-2.6/patches-2.6.27/999-use_preinit_as_init.patch
 create mode 100644 target/linux/generic-2.6/patches-2.6.28/999-use_preinit_as_init.patch
 create mode 100644 target/linux/generic-2.6/patches-2.6.29/999-use_preinit_as_init.patch
 create mode 100644 target/linux/generic-2.6/patches-2.6.30/999-use_preinit_as_init.patch
 delete mode 100644 target/linux/s3c24xx/patches-2.6.28/002-call-preinit-instead-of-init.patch
 delete mode 100644 target/linux/s3c24xx/patches-2.6.29/002-call-preinit-instead-of-init.patch

diff --git a/target/linux/adm5120/image/router_le.mk b/target/linux/adm5120/image/router_le.mk
index a760a21b73..d1ee363a16 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 6254db60da..4500718fe8 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 14a9a48651..865b62ce45 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 2947473ad0..f138bcbef4 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 3fa8c44a65..9f67548781 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 e98a416ee2..78588d812b 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 ca0c9a06a9..bc2b30036d 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 ab7312e3c2..2fd9276f6f 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 c093a220fe..ac825c7f29 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 d278cfb2da..d4427c3ecd 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 267903efe4..de02cc88c0 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 11ff2a39cb..5f42209238 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 f6d0a1b191..26f03474e1 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 7e8ea0eb2d..edc5b2cdbd 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 3938267084..a157dafc9d 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 5a27eda41f..2b3ddb65c8 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 6dc238c395..a3623adfe0 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 a47339c14c..9858c2f07d 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 aab9271c88..fb72aa26b7 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 560ec7361b..5472f6850f 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 5ccd9c7f11..5fbefec145 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 d287655dd5..2f59494d41 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 054793f91a..328d2ab6c3 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 8f4c18288c..d6010cdb16 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 0000000000..e38dfacfdc
--- /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 0000000000..afb8adeb44
--- /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 0000000000..d61546d317
--- /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 0000000000..ab104032fa
--- /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 0000000000..ab104032fa
--- /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 0000000000..bcfc6bb775
--- /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 0000000000..0a52a87e83
--- /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 0f7a1d26d1..d4f576be01 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 e5eabb1c47..4e114543bb 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 3a13fdb2fc..75dd6d5b5a 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 9fbd4e457e..efd472fb0e 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 bd8044f6dc..c85d757cb8 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 7e2e50a2e9..8a8261bd9b 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 bbfaff8f4e..17ab7af5c3 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 aa42ea3298..1c8082e7b3 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 2bc5997504..81a7fa0daf 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 5d7595db02..110a9adf66 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 1bdc887f9e..35a896380d 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 4945022ba7..eb1bedd0a0 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 35dc44f8a3..68d39d6e25 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 912a10fe22..a4beb3574e 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 e313119e4c..da0a1741e7 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 3c1a7570a6..e61943014c 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 5b838dbbb9..60542de1e1 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 b0f4205e78..57f4128642 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 9d0857dec8..9f1ec23057 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 dac461ff81..6539e9c340 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 8ab3a5ce32..0000000000
--- 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 8ab3a5ce32..0000000000
--- 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 e2503fae14..ccc8a79687 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 e98fe781ed..9a59d09892 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 2ef27a374f..5a33d9199e 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 e64fa19925..6d3c77b77d 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
-- 
GitLab