-# {{{ Bring up loopback interface now
-config_local_net(){
- if [ -z "$INSTALLED" ] ; then
- if grep -q 'iface lo inet loopback' /etc/network/interfaces 2>/dev/null ; then
- grep -q lo=lo /etc/network/run/ifstate 2>/dev/null || ifup lo
- else
- ifconfig lo up
- fi
- fi
-}
-# }}}
-
-# firewire devices {{{
-# the raw1394 driver does not yet export info into SYSFS,
-# so let's create raw1394 device manually
-# http://www.michael-prokop.at/blog/index.php?p=352
-config_firewire_dev(){
-if checkbootparam "nofirewiredev" ; then
- ewarn "Skipping creating some firewire devices as requested on boot commandline." ; eend 0
-else
-#if [ "${KERNEL%-*}" == "2.6.11" ] ; then
- einfo "Creating some firewire devices (fix kernel 2.6-bug)."
-# cd /dev && MAKEDEV video1394 raw1394
- [ -r /dev/raw1394 ] || mknod /dev/raw1394 c 171 0
- [ -r /dev/video1394 ] || mknod -m 666 /dev/video1394 c 171 16
-# mknod -m 666 /dev/dv1394 c 171 32 # for NTSC
- [ -r /dev/dv1394 ] || mknod -m 666 /dev/dv1394 c 171 34 # for PAL
- chown -R root:video /dev/raw1394 /dev/video1394 /dev/dv1394
- chmod -R 664 /dev/raw1394 /dev/video1394 /dev/dv1394 ; eend $?
-fi
-#fi
-}
-# }}}
-
-# {{{ copy passwd-lockfile to ramdisk (fix unionfs-behaviour)
-# otherwise we will get: passwd: Authentication token lock busy
-config_fix_passwd(){
- if [ -z "$INSTALLED" ] ; then
- touch /etc/.pwd.lock
- 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
-fi
-}
-# }}}
-
-# {{{ hardware detection via discover
-config_discover(){
-if checkbootparam "nodisc" ; then
- ewarn "Skipping hardware detection via discover as requested on boot commandline." ; eend 0
-else
- if [ -x /sbin/discover ] ; then
- einfo "Discovering hardware. Trying to load the following modules in background:"
- eindent
- einfo "$(discover --data-path=linux/module/name --data-path=linux/modules/options --format="%s %s" --data-version=`uname -r` --enable-bus all | sort -u | xargs echo)"
- eoutdent
- /sbin/discover-modprobe -v 1>>$DEBUG 2>&1 &
- eend 0
- else
- eerror "Application discover not available. Information: udev should handle hardware recognition." ; eend 0
- fi
-fi
-}
-# }}}
-
-# {{{ hardware detection via hwinfo
-config_hwinfo(){
-if checkbootparam hwinfo >>$DEBUG 2>&1; then
- einfo "Discovering hardware via hwinfo:"
- MODULES=$(su grml hwinfo | grep "Cmd: \"modprobe" | awk '{print $5}' | sed 's/"//')
- echo -n " Loading modules: "
- for i in `echo $MODULES` ; do echo -n $i && modprobe $i ; done
- eend 0
-fi
-}
-# }}}
-
-# {{{ disable hotplug agents on request
-config_hotplug_agent(){
-if checkbootparam "noagent" ; then
- AGENT="$(getbootparam 'noagent' 2>>$DEBUG)"
- AGENTLIST=$(echo "$AGENT" | sed 's/,/\\n/g')
- AGENTNL=$(echo "$AGENT" | sed 's/,/ /g')
- einfo "Disabling hotplug-agent(s) $AGENTNL"
- for agent in $(echo -e $AGENTLIST) ; do
- mv /etc/hotplug/${agent}.rc /etc/hotplug/${agent}.norc
- done
- [ "$?" == "0" ] ; eend $?
-fi
-}
-# }}}
-
-# {{{ blacklist of hotplug-modules
-config_hotplug_blacklist(){
-if checkbootparam "black" ; then
- BLACK="$(getbootparam 'black' 2>>$DEBUG)"
- BLACKLIST=$(echo "$BLACK" | sed 's/,/\\n/g')
- BLACKNL=$(echo "$BLACK" | sed 's/,/ /g')
- einfo "Blacklisting $BLACKNL via /etc/hotplug/blacklist.d/hotplug-light"
- echo -e "$BLACKLIST" >> /etc/hotplug/blacklist.d/hotplug-light
- echo -e "$BLACKLIST" >> /etc/hotplug/blacklist
- eend 0
-fi
-}
-# }}}
-
-# {{{ run hotplug
-config_hotplug(){
-if checkbootparam "nohotplug" ; then
- ewarn "Skipping running hotplug as requested on boot commandline." ; eend 0
-else
- if [ -r /etc/init.d/hotplug ] ; then
- einfo "Starting hotplug system in background."
- /etc/init.d/hotplug start 1>>$DEBUG 2>>$DEBUG &
- eend 0
- elif [ -r /etc/init.d/hotplug-light ] ; then
- einfo "Starting hotplug-light system in background."
- /etc/init.d/hotplug-light start 1>>$DEBUG 2>>$DEBUG &
- eend 0
- else
- ewarn "No hotplug system found. Should be handled by udev. Skipping execution." ; eend 0
- fi
-fi
-}
-# }}}
-
-# {{{ blacklist specific module [ used in /etc/init.d/udev ]
-config_blacklist(){
-if checkbootparam "blacklist" ; then
- if [ -z "$INSTALLED" ]; then
- einfo "Bootoption blacklist found."
- BLACK="$(getbootparam 'blacklist' 2>>$DEBUG)"
- if [ -n "$BLACK" ] ; then
- einfo "Blacklisting module ${BLACK} via /etc/modprobe.d/grml."
- echo "# begin entry generated by config_blacklist of grml-autoconfig" >> /etc/modprobe.d/grml
- echo "blacklist $BLACK" >> /etc/modprobe.d/grml
- 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."