]> git.pld-linux.org Git - projects/geninitrd.git/commitdiff
devfs support inspired by patch from Robert R. Wal <rrw@reptile.eu.org>
authorArtur Frysiak <artur@frysiak.net>
Fri, 6 Jul 2001 15:05:58 +0000 (15:05 +0000)
committerArtur Frysiak <artur@frysiak.net>
Fri, 6 Jul 2001 15:05:58 +0000 (15:05 +0000)
svn-id: @1209

geninitrd

index a852c89c24e2e8f3537d9863c26bfd48de8d917c..bfcaf7bcf5b02d941e8e21ae19734959f32f51f1 100755 (executable)
--- a/geninitrd
+++ b/geninitrd
@@ -16,6 +16,7 @@ VERSION=%VERSIONTAG%
 COMPRESS="yes"
 FS="rom"
 USEBSP="yes"
+USERAIDSTART="no"
 
 if [ -f /etc/sysconfig/geninitrd ] ; then
        . /etc/sysconfig/geninitrd
@@ -306,6 +307,9 @@ while [ $# -gt 0 ]; do
        --image-version)
                img_vers=yes
                ;;
+       --use-raidstart)
+               USERAIDSTART=yes
+               ;;
        *)
                if [ -z "$target" ]; then
                        target="$1"
@@ -393,10 +397,10 @@ if is_yes "`echo "$rootdev" | awk '/^\/dev\/md/ { print "yes"; }'`"; then
        }; 
        if (found == "yes") {
                if ($1 == "device") {
-                       if ($2 ~ /\/dev\/sd/) {
+                       if ($2 ~ /\/dev\/(sd|scsi)/) {
                                addscsi="yes";
                        };
-                       if ($2 ~ /\/dev\/hd/) {
+                       if ($2 ~ /\/dev\/(hd|ide)/) {
                                addide="yes";
                        };
                };
@@ -422,9 +426,12 @@ END {
                        ;;
            esac
     fi
+
+else
+       USERAIDSTART="no"
 fi
 
-if is_yes "$ADDSCSI" || is_yes "$(echo "$rootdev" | awk '/^\/dev\/sd/ { print "yes"; }')" ; then
+if is_yes "$ADDSCSI" || is_yes "$(echo "$rootdev" | awk '/^\/dev\/(sd|scsi)/ { print "yes"; }')" ; then
 
     for n in $PRESCSIMODS; do
        if [ "$n" = "unknown" ] ; then
@@ -446,7 +453,7 @@ if is_yes "$ADDSCSI" || is_yes "$(echo "$rootdev" | awk '/^\/dev\/sd/ { print "y
 
 fi
 
-if is_yes "$ADDIDE" || is_yes "`echo "$rootdev" | awk '/^\/dev\/hd/ { print "yes"; }'`" ; then
+if is_yes "$ADDIDE" || is_yes "`echo "$rootdev" | awk '/^\/dev\/(hd|ide)/ { print "yes"; }'`" ; then
     for n in $PREIDEMODS; do
            findmodule "$n"
     done
@@ -603,6 +610,7 @@ else
                echo "insmod -k /lib/modules/$kernel/$MODULE $options" >> "$RCFILE"
        done
 
+
        if [ -n "$loopDev" ]; then
                if [ ! -d /initrd ]; then
                        mkdir /initrd
@@ -617,6 +625,20 @@ else
        fi
 fi
 
+if is_yes "$USERAIDSTART" ; then 
+       if [ -x /sbin/raidstart.static ] ; then
+               [ -n "$verbose" ] && echo "Add raidstart to initrd"
+               mkdir -p "$MNTIMAGE/etc" || true
+               inst /sbin/raidstart.static "$MNTIMAGE/bin/raidstart"
+               inst "$raidtab" "$MNTIMAGE/etc/raidtab"
+               echo "echo \"Starting RAID\"" >> "$RCFILE"
+               echo "/bin/raidstart $rootdev" >> "$RCFILE"
+       else
+               echo "/sbin/raidstart.static is missing" 1>&2
+               exit 1
+       fi
+fi
+
 chmod +x "$RCFILE"
 
 (cd "$MNTIMAGE"; tar cf - .) | (cd "$MNTPOINT"; tar xf -)
This page took 0.038451 seconds and 4 git commands to generate.