# Authors: grml-team (grml.org), (c) Klaus Knopper <knopper@knopper.net>, (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
# License: This file is licensed under the GPL v2.
-# Latest change: Mit Jul 04 12:02:35 CEST 2007 [mika]
+# Latest change: Mit Jul 25 18:59:49 CEST 2007 [mika]
################################################################################
# {{{ path, variables, signals, umask, zsh
echo "alias $BLACK off" >> /etc/modprobe.d/grml
echo "# end entry generated by config_blacklist of grml-autoconfig" >> /etc/modprobe.d/grml ; eend $?
else
- eerror "No given module for blacklist found. Blacklisting will not work therefor."
+ eerror "No given module for blacklist found. Blacklisting will not work therefore."
fi
else
ewarn "Backlisting via bootoption does not work on harddisk installations." ; eend 1
config_acpi_apm(){
if [ -d /proc/acpi ]; then
if checkbootparam "noacpi"; then
- ewarn "Skipping ACPI Bios detection as requested on boot commandline." ; eend 0
+ ewarn "Skipping ACPI Bios detection as requested via noacpi on boot commandline." ; eend 0
+ elif checkbootparam "nogrmlacpi" ; then
+ ewarn "Skipping ACPI Bios detection as requested via nogrmlacpi on boot commandline." ; eend 0
else
- einfo "ACPI Bios found, activating modules: "
+ einfo "ACPI Bios found, activating modules (disable via bootoption noacpi / nogrmlacpi): "
eindent
found=""
for a in /lib/modules/$KERNEL/kernel/drivers/acpi/*; do
config_fstab(){
NOSWAP="yes" # we do not use swap by default!
-if checkbootparam "swap" -o checkbootparam "anyswap" ; then
+if checkbootparam "swap" || checkbootparam "anyswap" ; then
NOSWAP=''
checkbootparam "anyswap" && export ANYSWAP='yes' || export ANYSWAP=""
fi
-if checkbootparam "nofstab" -o checkbootparam "forensic" ; then
+if checkbootparam "nofstab" || checkbootparam "forensic" ; then
ewarn "Skipping /etc/fstab creation as requested on boot commandline." ; eend 0
else
einfo "Scanning for harddisk partitions and creating /etc/fstab. (Disable this via boot option: nofstab)"
sleep 1
eend 0
done
+ if [ -n "$INSTALLED" ] ; then
+ ewarn 'If you want to disable automatic DHCP requests set CONFIG_DHCP=no in /etc/grml/autoconfig.'
+ eend 0
+ fi
fi
}
# }}}
# Disclaimer: sorry for the tons of if/then/else... but this makes sure we use:
# * it only if we have the according kernel modules available
- # * cpufreq only on laptops (check via /usr/sbin/laptop-detect)
+ # * cpufreq only on laptops (check via /usr/sbin/laptop-detect) and not inside Virtual Box
# * current version of /etc/init.d/loadcpufreq from Debian (to stay in sync)
# -> parse output of the initscript and output it according to our look'n'feel
# * our own cpufreq-detect.sh if /etc/init.d/loadcpufreq isn't present
ewarn "Skipping cpufreq setup as module dependencies are not fulfilled." ; eend 1
else
if /usr/sbin/laptop-detect 1>/dev/null 2>&1 ; then
+ # Virtual Box supports ACPI and laptop-detect returns with '0', so check for it:
+ if [ -r /proc/acpi/battery/BAT0/info ] ; then
+ if grep -q 'OEM info: innotek' /proc/acpi/battery/BAT0/info ; then
+ einfo 'Virtual Box detected, skipping cpufreq setup.' ; eend 0
+ return 0
+ fi
+ fi
einfo "Detected Laptop - trying to use cpu frequency scaling:"
eindent
if [ -x /etc/init.d/loadcpufreq ] ; then
eerror "aumix binary not available. Can not set sound volumes therefore." ; eend 1
else
+ if ! [ -r /proc/asound/cards ] ; then
+ ewarn "No soundcard present, skipping mixer settings therefore." ; eend 0
+ return
+ fi
+
if checkbootparam vol ; then
VOL="$(getbootparam 'vol' 2>>$DEBUG)"
if [ -z "$VOL" ] ; then
ERROR=$(aumix -w $VOL -v $VOL -p $VOL -m $VOL 2>&1) ; RC=$?
if [ -n "$ERROR" ] ; then
eindent
- eerror "Problem setting mixer volumes: $ERROR"
+ eerror "Problem setting mixer volumes: $ERROR (no soundcard?)"
eoutdent
fi
eend $RC
ewarn "Skipping check for AC97 modem controller as requested on boot commandline." ; eend 0
else
if [ -x /etc/init.d/sl-modem-daemon ] ; then
- if lspci | grep Intel | grep -q "AC'97 Modem Controller" ; then
- einfo "AC97 modem controller detected. Starting sl-modem-daemon in background."
- /etc/init.d/sl-modem-daemon start >>$DEBUG &
- eend 0
- fi
+ if lspci | grep Intel | grep -q "AC'97 Modem Controller" ; then
+ einfo "AC97 modem controller detected. Start it running 'Start sl-modem-daemon'."
+ eend 0
+ fi
fi
fi
}
}
config_automount(){
-if checkbootparam noautoconfig -o checkbootparam forensic ; then
+if checkbootparam noautoconfig || checkbootparam forensic ; then
ewarn "Skipping running automount of device(s) labeled GRMLCFG as requested." ; eend 0
else
if [ -z "$INSTALLED" ] ; then
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 'noswraid' -o \
- checkbootparam 'forensic' -o checkbootparam 'raid=noautodetect' ; then
+ if checkbootparam 'noraid' || checkbootparam 'noswraid' -o \
+ checkbootparam 'forensic' || checkbootparam 'raid=noautodetect' ; then
ewarn "Skipping SW-RAID code as requested on boot commandline." ; eend 0
else
if ! [ -x /sbin/mdadm ] ; then
if ! [ -x /sbin/lvm -a -x /etc/init.d/lvm2 -a -x /sbin/lvdisplay ] ; then
eerror "LVM not available, can not execute it." ; eend 1
else
- if lvdisplay 1>/dev/null 2>&1 ; then
+ if lvdisplay 2>&1 | grep -v 'No volume groups found' 1>/dev/null 2>&1 ; then
einfo "You seem to have logical volumes (LVM) on your system."
eindent
einfo "Just run 'Start lvm2' to activate them or boot using 'lvm' as bootoption for autostart."
}
# }}}
+# {{{ check for broken ipw3945 driver which causes problems (especially on hd install)
+config_ipw3945() {
+ if grep -q ipw3945 /proc/modules ; then
+ if ! iwconfig 2>/dev/null| grep -qe 'IEEE 802' -qe 'unassociated' ; then
+ ewarn "Broken ipw3945 network interface found, reloading module."
+ rmmod ipw3945
+ modprobe ipw3945
+ eend $?
+ fi
+ fi
+}
+# }}}
+
# {{{ disable console blanking
config_blanking(){
if checkbootparam "noblank" ; then