Support using init= on the command line
authorPeter Hjalmarsson <xake@rymdraket.net>
Mon, 9 Apr 2012 18:03:01 +0000 (20:03 +0200)
committerRobin H. Johnson <robbat2@gentoo.org>
Tue, 16 Oct 2012 00:02:31 +0000 (17:02 -0700)
We do not support ramdisk, only initramfs nowdays.
So init= is a dead command, and we may as well have it do the same as
it does for dracut and in the Linux kernel documentation.
(Use rdinit to choose the initramfs init file)

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
ChangeLog
defaults/linuxrc

index dfe39e2914244e50748b422724f0750161429789..023016bb8d5e8a40b3bcdf712b1281e5a3ce6d87 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@
 # Distributed under the GPL v2
 # $Id$
 
+  15 Oct 2012; Peter Hjalmarsson <xake@rymdraket.net> defaults/linuxrc:
+  Support using init= on the command line.
+
   15 Oct 2012; Peter Hjalmarsson <xake@rymdraket.net> README,
   doc/genkernel.8.txt, gen_bootloader.sh, genkernel:
   Update the documentation to reflect current status re real_root/init.
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