Support using init= on the command line
[genkernel.git] / defaults / linuxrc
index 48446baa0564a7f85a1d44d2806dc759974e9311..1bc09a750593bd3cd1ba448919e1b72340ffd934 100755 (executable)
@@ -36,6 +36,7 @@ quiet_kmsg
 CMDLINE=$(cat /proc/cmdline)
 # Scan CMDLINE for any specified real_root= or cdroot arguments
 FAKE_ROOT=''
+FAKE_INIT=''
 REAL_ROOTFLAGS=''
 ROOTFSTYPE='auto'
 CRYPT_SILENT=0
@@ -56,6 +57,9 @@ do
                real_init=*)
                        REAL_INIT=${x#*=}
                ;;
+               init=*)
+                       FAKE_INIT=${x#*=}
+               ;;
                init_opts=*)
                        INIT_OPTS=${x#*=}
                ;;
@@ -263,6 +267,10 @@ if [ -z "${REAL_ROOT}" -a \( "${CDROOT}" = '0' \)  -a \( "${FAKE_ROOT}" != "/dev
 then
        REAL_ROOT="${FAKE_ROOT}"
 fi
+if [ -z "${REAL_INIT}" -a \( "${CDROOT}" = '0' \)  -a \( "${FAKE_INIT}" != "/linuxrc" \) ]
+then
+       REAL_INIT="${FAKE_INIT}"
+fi
 
 # Set variables based on the value of REAL_ROOT
 case "${REAL_ROOT}" in