X-Git-Url: http://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=a7b9153200fd207ba4403a0542f2f08d35f2feee;hp=90bc6bd2a948566cf099f17f65a9634301d45f58;hb=8be7a425a159fc46cdaea4291e42a2dad909b47f;hpb=2b4bfb74c4c727f74f03f53c142b983a07a7b949 diff --git a/autoconfig.functions b/autoconfig.functions index 90bc6bd..a7b9153 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -188,11 +188,15 @@ VMWARE=false if vmware-detect &>/dev/null; then VIRTUAL=true; VMWARE=true; VIRTUAL_ENV='VMware' -elif [ "$(virt-what 2>/dev/null)" = "kvm" ] || \ - [ "$(imvirt 2>/dev/null)" = "KVM" ] ; then +fi + +if virt-what 2>/dev/null | grep -q 'kvm' || \ + [ "$(imvirt 2>/dev/null)" = "KVM" ] ; then VIRTUAL=true; KVM=true; VIRTUAL_ENV='KVM' -elif [ "$(virt-what 2>/dev/null)" = "virtualbox" ] || \ - [ "$(imvirt 2>/dev/null)" = "VirtualBox" ] ; then +fi + +if virt-what 2>/dev/null | grep -q 'virtualbox' || \ + [ "$(imvirt 2>/dev/null)" = "VirtualBox" ] ; then VIRTUAL=true; VIRTUALBOX=true; VIRTUAL_ENV='VirtualBox' fi # }}} @@ -314,20 +318,6 @@ config_language(){ [ -r /etc/sysconfig/keyboard ] && . /etc/sysconfig/keyboard - # activate unicode console if running within utf8 environment - if [ -r /etc/default/locale ] ; then - if grep -q "LANG=.*UTF" /etc/default/locale ; then - einfo "Setting up unicode environment." - unicode_start >>$DEBUG 2>&1 ; eend $? - fi - fi - - # Set default keyboard before interactive setup - if [ -n "$KEYTABLE" ] ; then - einfo "Running loadkeys for ${WHITE}${KEYTABLE}${NORMAL} in background" - loadkeys -q $KEYTABLE & - eend $? - fi # we have to set up all consoles, therefore loop it over all ttys: NUM_CONSOLES=$(fgconsole --next-available 2>/dev/null) @@ -383,6 +373,21 @@ config_language(){ fi fi + # Set default keyboard before interactive setup + if [ -n "$KEYTABLE" ] ; then + einfo "Running loadkeys for ${WHITE}${KEYTABLE}${NORMAL} in background" + loadkeys -q $KEYTABLE & + eend $? + fi + + # activate unicode console if running within utf8 environment + if [ -r /etc/default/locale ] ; then + if grep -q "LANG=.*UTF" /etc/default/locale ; then + einfo "Setting up unicode environment." + unicode_start ; eend $? + fi + fi + eoutdent } # }}} @@ -521,8 +526,9 @@ config_secureboot(){ # doesn't work as needed as it relies on /sys/firmware/efi/efivars (while # /sys/firmware/efi/vars would exist) if ! $SYSTEMD ; then - modprobe efivars - mount -t efivarfs efivarfs /sys/firmware/efi/efivars + if modprobe efivars &>/dev/null ; then + mount -t efivarfs efivarfs /sys/firmware/efi/efivars + fi fi if [ -x /usr/bin/mokutil ] ; then @@ -751,7 +757,8 @@ fi # {{{ Start brltty config_brltty() { if checkbootparam 'brltty' ; then - [ -x /lib/brltty/brltty.sh ] && /lib/brltty/brltty.sh + einfo "Starting brltty service as requested on boot commandline." + service_wrapper brltty start ; eend $? fi } # }}} @@ -884,62 +891,6 @@ if [[ $(grep -c processor /proc/cpuinfo) -gt 1 ]] ; then else einfo "Found CPU: `awk -F: '/^processor/{printf " Processor"$2" is"};/^model name/{printf $2};/^vendor_id/{printf vendor};/^cpu MHz/{printf " %dMHz",int($2)};/^cache size/{printf ","$2" Cache"};/^$/{print ""}' /proc/cpuinfo 2>>$DEBUG` " ; eend 0 fi - -# no cpufreq setup inside VirtualBox -if $VIRTUALBOX ; then - einfo 'Virtual Box detected, skipping cpufreq setup.' ; eend 0 - return 0 -fi - -if ! [ -x /etc/init.d/loadcpufreq ] ; then - ewarn "loadcpufreq init script not available, ignoring cpu frequency scaling." - eend 0 - return 0 -else - einfo "Trying to set up cpu frequency scaling:" - eindent - SKIP_CPU_GOVERNOR='' - LOADCPUFREQ=$(mktemp) - /etc/init.d/loadcpufreq start >"$LOADCPUFREQ" 2>&1 ; RC=$? - if grep -q FATAL "$LOADCPUFREQ" ; then - eindent - SKIP_CPU_GOVERNOR=1 - oldIFS="$IFS" - IFS=$'\n' - for line in $(grep FATAL "$LOADCPUFREQ" | sed 's/.*FATAL: //; s/ (.*)//') ; do - eerror "$line" ; eend $RC - done - IFS="$oldIFS" - eoutdent - elif grep -q done "$LOADCPUFREQ" ; then - MODULE=$(grep done "$LOADCPUFREQ" | sed 's/.*done (\(.*\))./\1/') - if [ -n "$MODULE" -a "$MODULE" != none ]; then - einfo "Loading cpufreq kernel module $MODULE" ; eend 0 - else - SKIP_CPU_GOVERNOR=1 - ewarn "Could not find an appropriate kernel module for cpu frequency scaling." ; eend 1 - fi - fi - - rm -f "$LOADCPUFREQ" - - if [ -z "$SKIP_CPU_GOVERNOR" ] ; then - if [ -r /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors ] ; then - if ! grep -q ondemand /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors ; then - einfo "Ondemand governor not available for CPU(s), not modifying governor configuration" - else - einfo "Setting ondemand governor" - RC=0 - for file in $(find /sys/devices/system/cpu/ -name scaling_governor 2>/dev/null) ; do - echo ondemand > $file || RC=1 - done - eend $RC - fi - fi - fi - - eoutdent -fi } # }}} @@ -974,6 +925,7 @@ if checkbootparam 'ssh' ; then fi einfo "Starting secure shell server in background for root and user $localuser" + service_wrapper haveged start >>$DEBUG 2>>$DEBUG service_wrapper rmnologin start >>$DEBUG 2>>$DEBUG service_wrapper ssh start background >>$DEBUG 2>>$DEBUG eend $?