# 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 11 19:34:06 CEST 2007 [mika]
+# Latest change: Die Sep 04 13:58:35 CEST 2007 [mika]
################################################################################
# {{{ path, variables, signals, umask, zsh
# {{{ Check if we are running from the grml-CD or HD
INSTALLED=""
-[ -e /GRML/etc/grml_cd ] || INSTALLED="yes"
+[ -e /etc/grml_cd ] || INSTALLED="yes"
# testcd
TESTCD=""
config_timezone(){
# don't touch the files if running from harddisk:
if [ -z "$INSTALLED" ]; then
- einfo "Setting timezone."
- KTZ="$(getbootparam tz 2>>$DEBUG)"
- [ -f "/usr/share/zoneinfo/$KTZ" ] && TZ="$KTZ"
- rm -f /etc/localtime
- cp "/usr/share/zoneinfo/$TZ" /etc/localtime && eend 0
+ KTZ="$(getbootparam tz 2>>$DEBUG)"
+ if [ -n "$KTZ" ] ; then
+ einfo "Setting timezone."
+ [ -f "/usr/share/zoneinfo/$KTZ" ] && TZ="$KTZ"
+ rm -f /etc/localtime
+ cp "/usr/share/zoneinfo/$TZ" /etc/localtime ; eend $?
+ fi
fi
}
# }}}
# {{{ CD Checker
config_testcd(){
if [ -n "$TESTCD" ]; then
- einfo "Checking CD data integrity as requested by '${WHITE}testcd${NORMAL}' boot option."
- einfo "Reading files and checking against GRML/md5sums, this may take a while..."
- echo -n "${RED}"
- ( cd /cdrom/GRML/ ; rm -f /tmp/md5sum.log ; md5sum -c md5sums 2>&1 | tee /tmp/md5sum.log )
- if [ "$?" = "0" ]; then
- echo " ${GREEN}Everything looks OK${NORMAL}"
- else
- echo "${RED} *** CHECKSUM FAILED FOR THESE FILES: ***"
- egrep -v '(^md5sum:|OK$)' /tmp/md5sum.log
- echo "${RED} *** DATA ON YOUR CD MEDIUM IS POSSIBLY INCOMPLETE OR DAMAGED, ***${NORMAL}"
- echo "${RED} *** OR YOUR COMPUTER HAS BAD RAM. ***${NORMAL}"
- echo -n "${CYAN}Hit return to contine, or press the reset button to quit.${NORMAL}\a\a\a "
- read a
- fi
- eend 0
+ einfo "Checking CD data integrity as requested by '${WHITE}testcd${NORMAL}' boot option."
+ einfo "Reading files and checking against GRML/md5sums, this may take a while..."
+ echo -n "${RED}"
+
+ # /linuxrc grml version:
+ [ -d /cdrom/GRML ] && TESTCD_PATH=/cdrom/GRML
+ # live-initramfs version:
+ [ -d /live/image/GRML ] && TESTCD_PATH=/live/image/GRML
+
+ if [ -n "$TESTCD_PATH" ] ; then
+ ( cd "$TESTCD_PATH" ; rm -f /tmp/md5sum.log ; md5sum -c md5sums 2>&1 | tee /tmp/md5sum.log )
+ else
+ echo "${RED} *** Error: Could not find md5sum file. ***"
+ fi
+
+ if [ "$?" = "0" ]; then
+ echo " ${GREEN}Everything looks OK${NORMAL}"
+ else
+ echo "${RED} *** CHECKSUM FAILED FOR THESE FILES: ***"
+ egrep -v '(^md5sum:|OK$)' /tmp/md5sum.log
+ echo "${RED} *** DATA ON YOUR CD MEDIUM IS POSSIBLY INCOMPLETE OR DAMAGED, ***${NORMAL}"
+ echo "${RED} *** OR YOUR COMPUTER HAS BAD RAM. ***${NORMAL}"
+ echo -n "${CYAN}Hit return to contine, or press the reset button to quit.${NORMAL}"
+ read a
+ fi
+
+ eend 0
fi
}
# }}}
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)"
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
}
# }}}
+# {{{ 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
# }}}
## END OF FILE #################################################################
-# vim:foldmethod=marker expandtab ai ft=zsh
+# vim:foldmethod=marker expandtab ai ft=zsh shiftwidth=3