ppcrcd/trunk/initrd.dir/linuxrc

sparky cvs at pld-linux.org
Sat Mar 4 23:00:41 CET 2006


Author: sparky
Date: Sat Mar  4 23:00:26 2006
New Revision: 7091

Modified:
   ppcrcd/trunk/initrd.dir/linuxrc
Log:
- try many times before failing


Modified: ppcrcd/trunk/initrd.dir/linuxrc
==============================================================================
--- ppcrcd/trunk/initrd.dir/linuxrc	(original)
+++ ppcrcd/trunk/initrd.dir/linuxrc	Sat Mar  4 23:00:26 2006
@@ -42,6 +42,9 @@
 }
 
 findcd() {
+	FOUND=""
+    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
@@ -50,11 +53,10 @@
 	$B/echo
 	
 	# check do we have cdrom info file
-	$B/test -e /proc/sys/dev/cdrom/info  || error "Can't find CDROM"
+	#$B/test -e /proc/sys/dev/cdrom/info  || error "Can't find CDROM"
 	
 	# for each cd drive try to mount
 	DRIVES=`$B/awk '/drive name:/ { gsub(/drive name:/,""); print }' /proc/sys/dev/cdrom/info`
-	FOUND=""
 	checkcd iso9660
 	if $B/test -z "$FOUND"; then
 		$B/echo "Not found"
@@ -81,15 +83,23 @@
 		$B/echo "Waiting 5 seconds, sorry"
 		$B/usleep 5000000
 		$B/echo
-		DRIVES=`$B/awk '/[hs]d[a-z][1-9]/ {gsub(/[0-9]+ +/,""); print}' /proc/partitions`
+		DRIVES=`$B/awk '/[hs]d[a-z]/ {gsub(/[0-9]+ +/,""); print}' /proc/partitions`
 		FOUND=""
-		checkcd hfs
+		checkcd iso9660
+		$B/test -n "$FOUND" || checkcd hfs
 		$B/test -n "$FOUND" || checkcd vfat
 		$B/test -n "$FOUND" || checkcd fat
 		
 	fi
 	
 	if $B/test -z "$FOUND"; then
+		$B/echo "${cR}Can't find PPCRCD device, trying once more ($TRY)${cE}"
+		continue
+	fi
+
+    done
+	
+	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