X-Git-Url: http://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=7714ef26ab06874dab2dfdd824ff597d5f4d2ac7;hp=8305199b27817922803747b1dcb8ae7ea59a6d9a;hb=571636c61251f288d4d0fc22ec650298e344740f;hpb=ca48f696657713eb509b82ccd4865b5cf1b2e212 diff --git a/autoconfig.functions b/autoconfig.functions index 8305199..7714ef2 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -197,7 +197,7 @@ config_language(){ # set default to 'en' in live-cd mode if $LANGUAGE is not yet set: if [ -z "$INSTALLED" ] ; then - [ -n "$LANGUAGE" ] || LANGUAGE='en' + [ -n "$LANGUAGE" ] || LANGUAGE='en-utf8' fi # if bootoption lang is used update /etc/default/locale, otherwise *not*! @@ -209,10 +209,11 @@ config_language(){ if [ -z "$CONSOLEFONT" ] ; then if ! checkbootparam "nodefaultfont" >>$DEBUG 2>&1 ; then # [ -n "$UTF8" ] && CONSOLEFONT='LatArCyrHeb-16' || CONSOLEFONT='Lat15-Terminus16' - if [ -r /usr/share/consolefonts/Lat15-Terminus16.psf.gz ] ; then - CONSOLEFONT='Lat15-Terminus16' + # if [ -r /usr/share/consolefonts/Lat15-Terminus16.psf.gz ] ; then + if [ -r /usr/share/consolefonts/Uni3-Terminus14.psf.gz ] ; then + CONSOLEFONT='Uni3-Terminus14' else - ewarn "/usr/share/consolefonts/Lat15-Terminus16.psf.gz not available. Please upgrade package console-terminus." ; eend 1 + ewarn "/usr/share/consolefonts/Uni3-Terminus14.psf.gz not available. Please upgrade package console-terminus." ; eend 1 fi fi fi @@ -280,9 +281,9 @@ config_language(){ consolechars -f $CONSOLEFONT || consolechars -d eend $? - if [ -n "$UTF8" ] ; then - einfo "Notice: run 'filterm - dynafont' in your shell to enable a unicode capable console." - fi +# if [ -n "$UTF8" ] ; then +# einfo "Notice: run 'filterm - dynafont' in your shell to enable a unicode capable console." +# fi fi # we have to set up all consoles, therefore loop it over all ttys: @@ -335,8 +336,20 @@ config_time(){ checkbootparam utc >>$DEBUG 2>&1 && UTC="-u" checkbootparam gmt >>$DEBUG 2>&1 && UTC="-u" # hwclock uses the TZ variable - export TZ - hwclock $UTC -s + if [ -r /etc/default/locale ] ; then + . /etc/default/locale + else + TZ=Europe/Vienna + fi + ERROR=$(TZ="$TZ" hwclock $UTC -s 2>&1) ; RC=$? + if [ -n "$ERROR" ] ; then + eindent + ERROR=$(TZ="$TZ" hwclock $UTC -s --directisa 2>&1) + if [ -n "$ERROR" ] ; then + eerror "Problem running hwclock: $ERROR" ; eend 1 + fi + eoutdent + fi fi } # }}} @@ -964,7 +977,9 @@ if [ -n "$partitions" ]; then case "$f" in swap) eindent if [ -n "$NOSWAP" ]; then - ewarn "Ignoring swap partition ${WHITE}$p${NORMAL}. (Force usage via boot option 'swap', or execute grml-swapon)" ; eend 0 + if [ -z "$INSTALLED" ] ; then + ewarn "Ignoring swap partition ${WHITE}$p${NORMAL}. (Force usage via boot option 'swap', or execute grml-swapon)" ; eend 0 + fi else case "$(dd if=$p bs=1 count=6 skip=4086 2>/dev/null)" in S1SUSP|S2SUSP|pmdisk|[zZ]*) @@ -1897,8 +1912,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 @@ -1907,47 +1923,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' as 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