Author: sparky
Date: Thu Mar 23 09:51:24 2006
New Revision: 7292

Modified:
   ppcrcd/trunk/initrd.dir/linuxrc
Log:
- load modules only once
- hfsplus is very broken, try it only as a realy last option


Modified: ppcrcd/trunk/initrd.dir/linuxrc
==============================================================================
--- ppcrcd/trunk/initrd.dir/linuxrc     (original)
+++ ppcrcd/trunk/initrd.dir/linuxrc     Thu Mar 23 09:51:24 2006
@@ -59,11 +59,13 @@
     for TRY in 1 2 3 4 5; do
                
        $B/echo "${cG}*** Checking for IDE cdrom${cE}"
-       $B/echo "Loading modules:"
-       for MOD in via82cxxx ide-generic cdrom ide-cd nls_base isofs; do
-               modload $MOD
-       done
-       $B/echo
+       if $B/test $TRY -eq 1; then
+               $B/echo "Loading modules:"
+               for MOD in via82cxxx ide-generic cdrom ide-cd nls_base isofs; do
+                       modload $MOD
+               done
+               $B/echo
+       fi
        
        # check do we have cdrom info file
        #$B/test -e /proc/sys/dev/cdrom/info  || error "Can't find CDROM"
@@ -74,11 +76,13 @@
        if $B/test -z "$FOUND"; then
                $B/echo "Not found"
                $B/echo "${cG}*** Checking for SCSI cdrom${cE}"
-               $B/echo "Loading modules:"
-               for MOD in scsi_mod sr_mod mesh mac53c94; do
-                       modload $MOD
-               done
-               $B/echo
+               if $B/test $TRY -eq 1; then
+                       $B/echo "Loading modules:"
+                       for MOD in scsi_mod sr_mod mesh mac53c94; do
+                               modload $MOD
+                       done
+                       $B/echo
+               fi
                DRIVES=`$B/awk '/drive name:/ { gsub(/drive name:/,""); 
gsub(/hd[a-h]/,""); print }' /proc/sys/dev/cdrom/info`
                FOUND=""
                checkcd iso9660
@@ -87,11 +91,14 @@
        if $B/test -z "$FOUND"; then
                $B/echo "Not found"
                $B/echo "${cG}*** Checking USB storage and hard drives${cE}"
-               $B/echo "Loading modules:"
-               for MOD in sd_mod usbcore ohci-hcd ehci-hcd usb-storage \
-                               hfs hfsplus nls_iso8859-1 nls_cp437 fat vfat; do
-                       modload $MOD
-               done
+               if $B/test $TRY -eq 1; then
+                       $B/echo "Loading modules:"
+                       for MOD in sd_mod usbcore ohci-hcd ehci-hcd usb-storage 
\
+                                       hfs nls_iso8859-1 nls_cp437 fat vfat; do
+                               modload $MOD
+                       done
+                       $B/echo
+               fi
                # usb-storage takes time to start
                $B/echo "Waiting 5 seconds, sorry"
                $B/usleep 5000000
@@ -102,9 +109,6 @@
                $B/test -n "$FOUND" || checkcd hfs
                $B/test -n "$FOUND" || checkcd vfat
                $B/test -n "$FOUND" || checkcd fat
-               
-               DRIVES=`$B/awk '/[hs]d[a-z][0-9]/ {gsub(/[0-9]+ +/,""); print}' 
/proc/partitions`
-               $B/test -n "$FOUND" || checkcd hfsplus
        fi
        
        if $B/test -z "$FOUND"; then
@@ -116,6 +120,11 @@
     done
        
        if $B/test -z "$FOUND"; then
+               modload hfsplus    
+               checkcd hfsplus
+       fi
+
+       if $B/test -z "$FOUND"; then
                error "Can't find PPCRCD device, you may try to mount it 
manually under /media/ppcrcd and type 'exit'"
        fi
 
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to