]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
95dasd_rules: enable parsing of rd.dasd= commandline parameter
authorHannes Reinecke <hare@suse.de>
Wed, 18 Jun 2014 13:10:46 +0000 (15:10 +0200)
committerDaniel Molkentin <dmolkentin@suse.com>
Fri, 23 Jun 2017 19:26:30 +0000 (21:26 +0200)
Dracut documents the 'rd.dasd=' parameter, so we should be
enabling the usage of this parameter, too.

Signed-off-by: Hannes Reinecke <hare@suse.de>
modules.d/95dasd_rules/parse-dasd.sh

index eb4fa2270ffdbb0421542cc5cbcca3dd9a9ffb9c..5be77c8153ddf3f7428f5b1ceb1c0ca3d08f6ddf 100755 (executable)
@@ -55,3 +55,40 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do
         fi
     )
 done
+
+for dasd_arg in $(getargs rd.dasd=); do
+    (
+        IFS=","
+        set -- $dasd_arg
+        unset IFS
+        while (($# > 0)); do
+            case $1 in
+                autodetect|probeonly)
+                    shift
+                    ;;
+                *-*)
+                    range=$1
+                    IFS="-"
+                    set -- $range
+                    start=${1#0.0.}
+                    shift
+                    end=${1#0.0.}
+                    shift
+                    unset IFS
+                    for dev in $(seq $(( 10#$start )) $(( 10#$end )) ) ; do
+                        create_udev_rule $(printf "0.0.%04d" "$dev")
+                    done
+                    ;;
+                *)
+                    dev=${1%(ro)}
+                    if [ "$dev" != "$1" ] ; then
+                        ro=1
+                    fi
+                    dev=${dev#0.0.}
+                    create_udev_rule $(printf "0.0.%04d" $(( 10#$dev )) )
+                    shift
+                    ;;
+            esac
+        done
+    )
+done