From e4d49d0f9363b4c07b8b4d4544bdf84805480aaf Mon Sep 17 00:00:00 2001 From: Tim Yamin Date: Tue, 8 Mar 2005 00:13:48 +0000 Subject: [PATCH] Add patch by Gerte Hoogewerf (gerte <-at-> nieuwenborg.nl) to fix dmraid with cdroot. git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@183 67a159dc-881f-0410-a524-ba9dfbe2cb84 --- generic/initrd.defaults | 4 +-- generic/linuxrc | 62 +++++++++++++++++++++++------------------ 2 files changed, 37 insertions(+), 29 deletions(-) diff --git a/generic/initrd.defaults b/generic/initrd.defaults index 8e9cafb..6f1c511 100644 --- a/generic/initrd.defaults +++ b/generic/initrd.defaults @@ -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' diff --git a/generic/linuxrc b/generic/linuxrc index cb74bfc..d3026d3 100644 --- a/generic/linuxrc +++ b/generic/linuxrc @@ -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 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' -- 2.26.2