#!/sbin/runscript # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo/src/livecd-tools/autoconfig,v 1.33 2005/07/08 18:38:46 wolf31o2 Exp $ DHCP="yes" DETECT="yes" GPM="yes" PCMCIA="no" HOTPLUG="yes" APM="no" ACPI="no" IDEDMA="yes" echo "0" > /proc/sys/kernel/printk 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}" = "ide=nodma" ] then IDEDMA="no" fi if [ "${x}" = "nohotplug" ] then HOTPLUG="no" fi done depend() { need modules use alsasound before net # provide gpm pcmcia apmd acpid coldplug hdparm } 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 ] && schedule_service_startup apmd 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 ] && schedule_service_startup acpid eend fi if [ "${IDEDMA}" = "yes" ] then [ -x /etc/init.d/hdparm ] && schedule_service_startup hdparm fi if [ "${PCMCIA}" = "yes" ] then ebegin ${HILITE} "PCMCIA enabled via cmdline" [ -x /etc/init.d/pcmcia ] && schedule_service_startup pcmcia fi if [ "${DHCP}" = "no" ] then sed -i -e '/^ifconfig_eth.*dhcp.*/ s/^/#/' \ -e '/^iface_eth.*dhcp.*/ s/^/#/' \ -e '/^config_eth.*dhcp.*/ 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 [ -f /etc/sysconfig/gentoo ] && . /etc/sysconfig/gentoo # 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 ] && schedule_service_startup gpm fi fi eend fi if [ "${HOTPLUG}" = "yes" ] then #Check whether we should be using hotplug or coldplug if [ -x /etc/init.d/coldplug ] then schedule_service_startup coldplug elif [ -x /etc/init.d/hotplug ] then schedule_service_startup hotplug 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.:|ath.:|wlan.:/{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 $(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 95% unmute >/dev/null 2>&1 fi if [ -n "$(grep PCM /etc/amixer)" ] then amixer -q set PCM 95% unmute >/dev/null 2>&1 fi if [ -n "$(grep Mic /etc/amixer)" ] then amixer -q set Mic 95% mute cap >/dev/null 2>&1 fi if [ -n "$(grep Wave /etc/amixer)" ] then amixer -q set Wave 95% unmute >/dev/null 2>&1 fi if [ -n "$(grep Capture /etc/amixer)" ] then amixer -q set Capture 95% unmute cap >/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