COMPRESS="yes"
FS="rom"
USEBSP="yes"
+USERAIDSTART="no"
if [ -f /etc/sysconfig/geninitrd ] ; then
. /etc/sysconfig/geninitrd
--image-version)
img_vers=yes
;;
+ --use-raidstart)
+ USERAIDSTART=yes
+ ;;
*)
if [ -z "$target" ]; then
target="$1"
};
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";
};
};
;;
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
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
echo "insmod -k /lib/modules/$kernel/$MODULE $options" >> "$RCFILE"
done
+
if [ -n "$loopDev" ]; then
if [ ! -d /initrd ]; then
mkdir /initrd
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 -)