#!/sbin/runscript # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo/src/livecd-tools/autoconfig,v 1.20 2005/02/03 20:34:35 wolf31o2 Exp $ echo "0" > /proc/sys/kernel/printk DHCP="yes" DETECT="yes" GPM="yes" PCMCIA="no" HOTPLUG="yes" APM="no" ACPI="no" CMDLINE="`cat /proc/cmdline`" for x in ${CMDLINE} ; do if [ "${x}" = "nodetect" ]; then DETECT="no" GPM="no" HOTPLUG="no" APM="no" ACPI="no" fi if [ "${x}" = "nodhcp" ]; then DHCP="no" fi if [ "${x}" = "nogpm" ]; then GPM="no" fi if [ "${x}" = "dopcmcia" ]; then PCMCIA="yes" fi if [ "${x}" = "doapm" ]; then APM="yes" ACPI="no" fi if [ "${x}" = "acpi=on" -o "${x}" = "acpi=force" ]; then APM="no" ACPI="yes" fi if [ "${x}" = "nohotplug" ]; then HOTPLUG="no" fi done depend() { need modules use alsasound # provide gpm pcmcia apmd acpid coldplug } start() { if [ "${DETECT}" = "yes" ]; then ebegin ${WARN}"Hardware detection started" PC=`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>/dev/null` ebegin ${GOOD}"${PC}" eend [ -x /usr/sbin/hwsetup ] && hwsetup -p >/dev/null eend else ebegin ${WARN}"Hardware detection disabled via cmdline$NORMAL" fi if [ "${APM}" = "yes" ]; then modprobe apm power_off=1 >/dev/null 2>&1 && ebegin ${GOOD}"APM BIOS found, power management functions enabled.${NORMAL}" [ -x /etc/init.d/apmd ] && /etc/init.d/apmd start else ebegin ${GOOD}"Not Loading APM Bios support.${NORMAL}" eend fi if [ "${ACPI}" = "yes" ]; then modprobe processor >/dev/null 2>&1 && ebegin ${GOOD} ACPI power management functions enabled.${NORMAL} && modprobe thermal >/dev/null modprobe fan >/dev/null 2>&1 modprobe button >/dev/null 2>&1 modprobe battery >/dev/null 2>&1 modprobe ac >/dev/null 2>&1 [ -x /etc/init.d/acpid ] && /etc/init.d/acpid start eend fi if [ "${PCMCIA}" = "yes" ]; then ebegin ${HILITE} "PCMCIA enabled via cmdline" /etc/init.d/pcmcia start fi if [ "${DHCP}" = "no" ]; then sed -i -e '/^ifconfig_eth/ s//^#/' \ -e '/^iface_eth/ s//^#/' \ /etc/conf.d/net ebegin ${BAD}"Skipping DHCP broadcast detection as requested on boot commandline." fi #Read in what hwsetup has found [ -f /etc/sysconfig/knoppix ] && . /etc/sysconfig/knoppix # Mouse if [ -n "${MOUSE_DEVICE}" ]; then ebegin ${GOOD}"Mouse is ${HILITE}${MOUSE_FULLNAME}${GOOD} at ${HILITE}${MOUSE_DEVICE}${NORMAL}" source /etc/sysconfig/mouse if [ -x /usr/sbin/gpm ]; then if [ `grep "#MOUSE=${MOUSETYPE}" /etc/conf.d/gpm` ]; then sed -i "\@MOUSE=${MOUSETYPE}@s@^#@@" /etc/conf.d/gpm else echo "MOUSE=${MOUSETYPE}" >>/etc/conf.d/gpm fi if [ `grep "#MOUSEDEV=${DEVICE}" /etc/conf.d/gpm` ]; then sed -i "\@MOUSEDEV=${DEVICE}@s@^#@@" /etc/conf.d/gpm else echo "MOUSEDEV=${DEVICE}" >>/etc/conf.d/gpm fi if [ "$GPM" = "yes" ]; then [ -x /etc/init.d/gpm ] && /etc/init.d/gpm start fi fi eend fi if [ "${HOTPLUG}" = "yes" ]; then #Check whether we should be using hotplug or coldplug if [ -x /etc/init.d/coldplug ]; then /etc/init.d/coldplug start else [ -x /etc/init.d/hotplug ] && /etc/init.d/hotplug start fi else ebegin ${BAD}"Hotplug disabled via cmdline${NORMAL}" fi if [ "${DETECT}" = "no" ]; then DHCP="no" fi if [ "${DETECT}" = "yes" ]; then NETDEVICES="`awk -F: '/eth.:|tr.:/{print $1}' /proc/net/dev 2>/dev/null`" fi if [ -n "${NETDEVICES}" ]; then if [ "${DHCP}" = "yes" ]; then ebegin ${GOOD}"Network device${HILITE}${NETDEVICES}${GOOD} detected,${WARN} DHCP broadcasting for IP.${NORMAL}" dhcpcd -h `basename hostname` & fi eend else ebegin ${BAD}"No Network device auto detected.${NORMAL}" fi if [ -n "${SOUND_FULLNAME}" -o -n "${SOUND_DRIVER}" ]; then ebegin ${GOOD}"Soundcard:" eend [ -n "${SOUND_FULLNAME}" ] ebegin " ${WARN}${SOUND_FULLNAME}" [ -n "${SOUND_DRIVER}" ] ebegin ${WARN}" driver = ${SOUND_DRIVER}"${HILITE} if [ -d /proc/asound/card0 ] && [ -x /usr/bin/amixer ]; then amixer scontrols > /etc/amixer if [ -n "`grep Master /etc/amixer`" ] then amixer -q set Master 75% >/dev/null 2>&1 amixer -q set Master unmute >/dev/null 2>&1 fi if [ -n "`grep PCM /etc/amixer`" ] then amixer -q set PCM 75% >/dev/null 2>&1 amixer -q set PCM unmute >/dev/null 2>&1 fi if [ -n "`grep Mic /etc/amixer`" ] then amixer -q set Mic 75% >/dev/null 2>&1 amixer -q set Mic cap >/dev/null 2>&1 fi if [ -n "`grep Wave /etc/amixer`" ] then amixer -q set Wave 75% >/dev/null 2>&1 amixer -q set Wave unmute >/dev/null 2>&1 fi if [ -n "`grep Capture /etc/amixer`" ] then amixer -q set Capture 75% >/dev/null 2>&1 amixer -q set Capture cap >/dev/null 2>&1 amixer -q set Capture unmute >/dev/null 2>&1 fi fi fi if [ -n "${XDESC}" -o -n "${XDESC}" ]; then ebegin ${GOOD}"VideoCard: ${WARN} ${XDESC}" eend fi killall hwsetup 2>/dev/null echo "6" > /proc/sys/kernel/printk } # vim: ts=4