X-Git-Url: https://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=ab9d8333a2690164878ed4d1a9240a0aca0f2296;hp=03e4aac78367e63eaf965d369ef291aa8cb362f4;hb=861ae0f9c1fadedd0002a1dec0677452b50bfddd;hpb=24cdc08ddb22a13bc6296c85d3f749097c51ee0e diff --git a/autoconfig.functions b/autoconfig.functions index 03e4aac..ab9d833 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -4,7 +4,7 @@ # Authors: grml-team (grml.org), (c) Klaus Knopper , (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Fre Nov 10 00:33:15 CET 2006 [mika] +# Latest change: Mon Nov 27 21:02:23 CET 2006 [mika] ################################################################################ # {{{ path, variables, signals, umask, zsh @@ -316,7 +316,13 @@ config_hostname(){ # fstabuser (needed when running from harddisk with username != grml {{{ config_userfstab(){ - fstabuser=$(getent passwd 1000 | cut -d: -f1) + [ -r /etc/grml/autoconfig ] && . /etc/grml/autoconfig + if [ -n "$CONFIG_FSTAB_USER" ] ; then + fstabuser="$CONFIG_FSTAB_USER" + else + fstabuser=$(getent passwd 1000 | cut -d: -f1) + fi + # if not yet set fall back to default 'grml' user [ -n "$fstabuser" ] || fstabuser='grml' } # }}} @@ -958,7 +964,7 @@ if [ -n "$partitions" ]; then case "$f" in swap) eindent if [ -n "$NOSWAP" ]; then - ewarn "Ignoring swap partition ${WHITE}$p${NORMAL} as requested." ; eend 0 + ewarn "Ignoring swap partition ${WHITE}$p${NORMAL}. (Force usage via boot option 'swap', or execute grml-swapon)" ; eend 0 else case "$(dd if=$p bs=1 count=6 skip=4086 2>/dev/null)" in S1SUSP|S2SUSP|pmdisk|[zZ]*) @@ -1891,8 +1897,9 @@ fi config_swraid(){ if [ -z "$INSTALLED" ] ; then # notice: checkbootparam "forensic" is just for users who don't know how to really use the bootoption - if checkbootparam "noraid" -o checkbootparam "forensic" -o checkbootparam "raid=noautodetect" ; then - ewarn "Skipping search for SW-RAID as requested on boot commandline." ; eend 0 + if checkbootparam 'noraid' -o checkbootparam 'noswraid' -o \ + checkbootparam 'forensic' -o checkbootparam 'raid=noautodetect' ; then + ewarn "Skipping SW-RAID code as requested on boot commandline." ; eend 0 else if ! [ -x /sbin/mdadm ] ; then eerror "mdadm not available, can not execute it." ; eend 1 @@ -1901,47 +1908,53 @@ config_swraid(){ # if ! egrep -qv '^(MAILADDR.*|#.*|)$' /etc/mdadm/mdadm.conf 2>>$DEBUG ; then # find out whether we have a valid configuration file already if ! grep -q ARRAY /etc/mdadm/mdadm.conf 2>>$DEBUG ; then - einfo "Creating /etc/mdadm/mdadm.conf" - [ -r /etc/mdadm/mdadm.conf ] && mv /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.old - MDADM_MAILADDR='root' /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf ; eend $? - else - ewarn "/etc/mdadm/mdadm.conf looks like a configured mdadm setup, will not touch it." ; eend 0 + einfo "Creating /etc/mdadm/mdadm.conf for use with mdadm." + [ -r /etc/mdadm/mdadm.conf ] && mv /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.old + MDADM_MAILADDR__='root' /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf ; eend $? + else + ewarn "/etc/mdadm/mdadm.conf looks like a configured mdadm setup, will not touch it." ; eend 0 fi - einfo "Searching for software RAID arrays (disable via bootoption noraid):" - eindent - IFSOLD=${IFS:-} - IFS=' + if ! checkbootparam 'swraid' ; then + eindent + einfo "Just run 'Start mdadm-raid' to assemble md arrays or boot using swraid bootoption for autostart." + eoutdent + else + einfo "Bootoption swraid found. Searching for software RAID arrays:" + eindent + IFSOLD=${IFS:-} + IFS=' ' - for line in $(mdadm --assemble --scan --auto=yes --symlink=no 2>&1) ; do - case $line in - *'No arrays found'*) - ewarn "$line" ; eend 0 - ;; - *) - einfo "$line" ; eend 0 - ;; - esac - done - IFS=$IFSOLD - eoutdent + for line in $(mdadm --assemble --scan --auto=yes --symlink=no 2>&1) ; do + case $line in + *'No arrays found'*) + ewarn "$line" ; eend 0 + ;; + *) + einfo "$line" ; eend 0 + ;; + esac + done + IFS=$IFSOLD + eoutdent - if [ -r /proc/mdstat ] ; then - eindent - MDSTAT=$(grep '^md[0-9]' /proc/mdstat) - if [ -z "$MDSTAT" ] ; then - ewarn "No active arrays found" ; eend 0 - else - IFSOLD=${IFS:-} - IFS=' + if [ -r /proc/mdstat ] ; then + eindent + MDSTAT=$(grep '^md[0-9]' /proc/mdstat) + if [ -z "$MDSTAT" ] ; then + ewarn "No active arrays found" ; eend 0 + else + IFSOLD=${IFS:-} + IFS=' ' - for line in $(grep '^md[0-9]' /proc/mdstat) ; do - einfo "active arrays: $line" ; eend 0 - done - IFS=$IFSOLD - fi - eoutdent - fi + for line in $(grep '^md[0-9]' /proc/mdstat) ; do + einfo "active arrays: $line" ; eend 0 + done + IFS=$IFSOLD + fi + eoutdent + fi # /proc/mdstat + fi # bootoption swraid fi # is /sbin/mdadm executable? fi # check for bootoptions