]> Zhao Yanbai Git Server - minix.git/commitdiff
Allow human readable name for the root device.
authorEvgeniy Ivanov <lolkaantimat@gmail.com>
Tue, 31 Jan 2012 11:48:14 +0000 (15:48 +0400)
committerBen Gras <ben@minix3.org>
Thu, 9 Feb 2012 17:54:45 +0000 (18:54 +0100)
Instead of using rootdev= or ramimagedev= in the boot monitor
which are changed to numbers and cannot be used with other
loaders, rootdevname= or ramimagename= are (MINIX-style)
device names always stored as strings.

Patch by Antoine Leca.

drivers/ramdisk/rc

index 2bde8f43f8c8ae8c7bd01a091d34ee2664e9ee23..165dd0217f0ae0d213b44b434dfca2a8c7cb1e02 100644 (file)
@@ -28,9 +28,14 @@ fi
 /bin/service -c edit /sbin/mfs -label fs_imgrd
 /bin/service up /sbin/procfs || echo "WARNING: couldn't start procfs"
 
-rootdev=`sysenv rootdev` || echo 'No rootdev?'
-rootdevname=`/bin/dev2name "$rootdev"` ||
-       { echo 'No device name for root device'; exit 1; }
+if /bin/sysenv rootdevname >/dev/null
+then
+       rootdevname=/dev/`/bin/sysenv rootdevname`
+else
+       rootdev=`/bin/sysenv rootdev` || echo 'No rootdev?'
+       rootdevname=`/bin/dev2name "$rootdev"` ||
+               { echo 'No device name for root device'; exit 1; }
+fi
 
 if [ "`sysenv bin_img`" = 1 ]
 then
@@ -49,12 +54,18 @@ then
        loadramdisk "$cddev"p1
 elif [ "$rootdevname" = "/dev/ram" ]
 then
-       ramimagedev=`sysenv ramimagedev` ||
-               { echo 'ramimagedev not found'; exit 1; }
-       ramimagename=`/bin/dev2name "$ramimagedev"` ||
-               { echo 'No device name for ramimagedev'; exit 1; }
+       if /bin/sysenv rootdevname >/dev/null
+       then
+               ramimagename=/dev/`/bin/sysenv ramimagename`
+       else
+               ramimagedev=`/bin/sysenv ramimagedev` ||
+                       { echo 'ramimagedev not found'; exit 1; }
+               ramimagename=`/bin/dev2name "$ramimagedev"` ||
+                       { echo 'No device name for ramimagedev'; exit 1; }
+       fi
+
        echo "Loading ramdisk from $ramimagename"
-       loadramdisk "$ramimagename"
+       loadramdisk "$ramimagename" || echo "WARNING: loadramdisk failed"
 fi
 echo "Root device name is $rootdevname"
 if [ -e $FSCK ]