Add patch by Gerte Hoogewerf (gerte <-at-> nieuwenborg.nl) to fix dmraid with cdroot.
authorTim Yamin <plasmaroo@gentoo.org>
Tue, 8 Mar 2005 00:13:48 +0000 (00:13 +0000)
committerTim Yamin <plasmaroo@gentoo.org>
Tue, 8 Mar 2005 00:13:48 +0000 (00:13 +0000)
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@183 67a159dc-881f-0410-a524-ba9dfbe2cb84

generic/initrd.defaults
generic/linuxrc

index 8e9cafb9be703894d3513da3a9a6d3c2e449f95f..6f1c511d5b911e47fad988769011d70a6bbadf3e 100644 (file)
@@ -17,8 +17,8 @@ MISCOPTS='idebug detect'
 # Only sections that are in by default or those that
 # are not module groups need to be defined here...
 
-HWOPTS='usb firewire keymap cache lvm2 evms2 sata'
-MY_HWOPTS='usb firewire lvm2 evms2 sata'
+HWOPTS='usb firewire keymap cache lvm2 evms2 dmraid sata'
+MY_HWOPTS='usb firewire lvm2 evms2 dmraid sata'
 
 QUIET=1
 ROOT_LINKS='bin sbin lib lib64 boot usr opt'
index cb74bfc1cea080abcb78cd4a737fab05fbd85f56..d3026d37057dd4340a26929fd11f42123e01bd2d 100644 (file)
@@ -141,6 +141,37 @@ chooseKeymap() {
        fi
 }
 
+startVolumes() {
+       if [ "${DO_dmraid}" -a "${USE_DMRAID_NORMAL}" -eq '1' ]
+       then
+               if [ -e '/sbin/dmraid' ]
+               then
+                       echo -e "${GOOD}>>${NORMAL}${BOLD} Activating Device-Mapper raid(s)...${NORMAL}"
+                       /sbin/dmraid -ay
+               fi
+       fi
+
+       if [ "${DO_lvm2}" -a "${USE_LVM2_NORMAL}" -eq '1' ]
+       then
+               if [ -e '/sbin/vgscan' -a -e '/sbin/vgchange' ]
+               then
+                       echo -e "${GOOD}>>${NORMAL}${BOLD} Scanning for Volume Groups...${NORMAL}"
+                       /sbin/vgscan
+                       echo -e "${GOOD}>>${NORMAL}${BOLD} Activating Volume Groups...${NORMAL}"
+                       /sbin/vgchange -ay
+               fi
+       fi
+
+       if [ "${DO_evms2}" -a "${USE_EVMS_NORMAL}" -eq '1' ]
+       then
+               if [ -e '/sbin/evms_activate' ]
+               then
+                       echo -e "${GOOD}>>${NORMAL}${BOLD} Activating EVMS...${NORMAL}"
+                       evms_activate
+               fi
+       fi
+}
+
 echo -e "${GOOD}>>${NORMAL}${BOLD} Mounting filesystems${NORMAL}"
 
 # Check udev is on...
@@ -173,6 +204,7 @@ then
                kill_devfsd
                echo -e "${GOOD}>>${NORMAL}${BOLD} Activating udev...${NORMAL}"
                runUdev
+               startVolumes
                mv /dev/* /newroot/dev
        else
                if [ ! -e /newroot/dev/.devfsd ]
@@ -265,31 +297,7 @@ then
        devfsd /dev -np
 fi
 
-if [ -e '/sbin/dmraid' -a "${USE_DMRAID_NORMAL}" -eq '1' ]
-then
-    echo -e "${GOOD}>>${NORMAL}${BOLD} Activating device-mapper raid array(s)...${NORMAL}"
-    /sbin/dmraid -ay
-fi
-
-if [ "${DO_lvm2}" -a "${USE_LVM2_NORMAL}" -eq '1' ]
-then
-       if [ -e '/sbin/vgscan' -a -e '/sbin/vgchange' ]
-       then
-               echo -e "${GOOD}>>${NORMAL}${BOLD} Scanning for Volume Groups...${NORMAL}"
-               /sbin/vgscan
-               echo -e "${GOOD}>>${NORMAL}${BOLD} Activating Volume Groups...${NORMAL}"
-               /sbin/vgchange -ay
-       fi
-fi
-
-if [ "${DO_evms2}" -a "${USE_EVMS_NORMAL}" -eq '1' ]
-then
-       if [ -e '/sbin/evms_activate' ]
-       then
-               echo -e "${GOOD}>>${NORMAL}${BOLD} Activating EVMS...${NORMAL}"
-               evms_activate
-       fi
-fi
+[ "${CDROOT}" -eq '0' ] && startVolumes
 
 echo -e "${GOOD}>>${NORMAL}${BOLD} Determining root device...${NORMAL}"
 
@@ -496,9 +504,9 @@ echo -n '.'
 exec <dev/console >dev/console 2>&1
 echo '.'
 exec chroot . /bin/sh <<- EOF
-       umount /tmp/.initrd || echo "*: Failed to unmount the initrd!"
+       umount /tmp/.initrd || echo "*: Failed to unmount the initrd!"
        /sbin/blockdev --flushbufs /dev/ram0 >/dev/null 2>&1
-       exec /sbin/init ${REAL_INIT}
+       exec /sbin/init ${REAL_INIT}
 EOF
 
 echo 'A fatal error has probably occured since /sbin/init did not'