ppcrcd/trunk/initrd.dir/linuxrc

sparky cvs at pld-linux.org
Thu Mar 23 09:51:30 CET 2006


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
 


More information about the pld-cvs-commit mailing list