Fix bug #80617.
authorTim Yamin <plasmaroo@gentoo.org>
Thu, 14 Jul 2005 21:11:45 +0000 (21:11 +0000)
committerTim Yamin <plasmaroo@gentoo.org>
Thu, 14 Jul 2005 21:11:45 +0000 (21:11 +0000)
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@262 67a159dc-881f-0410-a524-ba9dfbe2cb84

generic/linuxrc

index a6861eee1def81d0b63a1aae28670a208c9cc9ed..2f16ccead8d0071dd2c43eb622507f96aa1eaaf4 100644 (file)
@@ -44,6 +44,7 @@ quiet_kmsg
 
 CMDLINE="`cat /proc/cmdline`"
 # Scan CMDLINE for any specified real_root= or cdroot arguments
+REAL_ROOT=''
 for x in ${CMDLINE}
 do
   case "${x}" in
@@ -60,12 +61,10 @@ do
       # Livecd options
       cdroot)
          CDROOT=1
-         REAL_ROOT=''
          ;;
       cdroot\=*)
          CDROOT=1
          CDROOT_DEV=`parse_opt "${x}"`
-         REAL_ROOT=''
          ;;
 
       # Start livecd loop and looptype options
@@ -149,6 +148,14 @@ do
       part\=*)
           MDPART=`parse_opt "${x}"`
           ;;
+
+      # NFS
+      ip\=*)
+          IP=`parse_opt "${x}"`
+          ;;
+      nfsroot\=*)
+          NFSROOT=`parse_opt "${x}"`
+          ;;
   esac
 done
 
@@ -220,7 +227,7 @@ then
        cp /dev/tty1 ${NEW_ROOT}/dev
        sdelay
 
-       bootstrapCD
+       [ "${REAL_ROOT}"="/dev/nfs" ] || bootstrapCD
        
        if [ "${REAL_ROOT}" = '' ]
        then
@@ -325,9 +332,9 @@ do
        done
 
 
-       if [ "${CDROOT}" -eq '1' -a "${got_good_root}" = '1' ]
+       if [ "${CDROOT}" -eq '1' -a "${got_good_root}" = '1' -a "${REAL_ROOT}" != "/dev/nfs" ]
        then
-               # cdrom device already mounted no further checks necessary
+               # CD already mounted; no further checks necessary
                break
        else
                good_msg "Mounting root..."