summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <williamh@gentoo.org>2011-02-13 13:43:08 -0600
committerWilliam Hubbs <williamh@gentoo.org>2011-02-13 13:43:08 -0600
commit99acb31282f5e024abaec2f1b475c132d539cfcd (patch)
tree3f7cc524973cf49f94d3c70ce9431de31fcd5ff7 /autoconfig
parentstart xdm from autoconfig (diff)
downloadlivecd-tools-99acb31282f5e024abaec2f1b475c132d539cfcd.tar.gz
livecd-tools-99acb31282f5e024abaec2f1b475c132d539cfcd.tar.bz2
livecd-tools-99acb31282f5e024abaec2f1b475c132d539cfcd.zip
move init.d scripts to a common directory
We have several init.d scripts, and some of the names clash with other parts of the package, so I have moved them to an init.d directory.
Diffstat (limited to 'autoconfig')
-rwxr-xr-xautoconfig610
1 files changed, 0 insertions, 610 deletions
diff --git a/autoconfig b/autoconfig
deleted file mode 100755
index 9eec5ce..0000000
--- a/autoconfig
+++ /dev/null
@@ -1,610 +0,0 @@
-#!/sbin/runscript
-
-# This script is used by Gentoo release media to start certain services and to
-# ensure a sane setup for a CD-based boot.
-
-ACPI="yes"
-ALSA="yes"
-APM="no"
-BRLTTY="no"
-COLDPLUG="yes"
-DETECT="yes"
-DHCP="yes"
-DMRAID="yes"
-EVMS="no"
-FIREWIRE="yes"
-GPM="yes"
-IDEDMA="yes"
-LVM="no"
-MDADM="yes"
-NET="yes"
-NFS="yes"
-PASSWD="yes"
-PATA="yes"
-PCMCIA="yes"
-SATA="yes"
-SCSI="no"
-SPEAKUP="no"
-SPEAKUP_MODULE=""
-SPEAKUP_OPTIONS=""
-SSHD="no"
-USB="yes"
-X11="yes"
-
-get_config() {
- CMDLINE="$(cat /proc/cmdline)"
-
- for x in ${CMDLINE} ; do
- case "${x}" in
- # We put nodetect first, so we can override it with do* commands
- nodetect)
- ACPI="no"
- ALSA="no"
- APM="no"
- COLDPLUG="no"
- DETECT="no"
- DMRAID="no"
- EVMS="no"
- FIREWIRE="no"
- GPM="no"
- LVM="no"
- MDADM="no"
- NET="no"
- NFS="no"
- PCMCIA="no"
- PATA="no"
- SATA="no"
- SCSI="no"
- USB="no"
- X11="no"
- ;;
- noapm)
- APM="no"
- ;;
- nocoldplug|nohotplug)
- COLDPLUG="no"
- ;;
- nodhcp)
- DHCP="no"
- ;;
- nodmraid)
- DMRAID="no"
- ;;
- noevms|noevms2)
- EVMS="no"
- ;;
- nofirewire)
- FIREWIRE="no"
- ;;
- nogpm)
- GPM="no"
- ;;
- noload=*)
- NOLOAD="$*"
- ;;
- nolvm|nolvm2)
- LVM="no"
- ;;
- nomdadm)
- MDADM="no"
- ;;
- nonet)
- NET="no"
- ;;
- nonfs)
- NFS="no"
- ;;
- nopata)
- PATA="no"
- ;;
- nopcmcia)
- PCMCIA="no"
- ;;
- nosata)
- SATA="no"
- ;;
- noscsi)
- SCSI="no"
- ;;
- nosshd)
- SSHD="no"
- ;;
- nosound)
- ALSA="no"
- ;;
- nousb)
- USB="no"
- ;;
- nox)
- X11="no"
- ;;
- acpi\=on|acpi\=force)
- ACPI="yes"
- APM="no"
- ;;
- brltty=*)
- BRLTTY="yes"
- X11="no"
- ;;
- ide\=nodma)
- IDEDMA="no"
- ;;
- doapm)
- ACPI="no"
- APM="yes"
- ;;
- docoldplug|dohotplug)
- COLDPLUG="yes"
- ;;
- dodhcp)
- DHCP="yes"
- ;;
- dodmraid)
- DMRAID="yes"
- ;;
- doevms|doevms2)
- EVMS="yes"
- ;;
- dofirewire)
- FIREWIRE="yes"
- ;;
- dogpm)
- GPM="yes"
- ;;
- dolvm|dolvm2)
- LVM="yes"
- ;;
- domdadm)
- MDADM="yes"
- ;;
- donet)
- NET="yes"
- ;;
- dopata)
- PATA="yes"
- ;;
- dopcmcia)
- PCMCIA="yes"
- ;;
- dosata)
- SATA="yes"
- ;;
- doscsi)
- SCSI="yes"
- ;;
- dosshd)
- SSHD="yes"
- ;;
- dosound)
- SOUND="yes"
- ;;
- dousb)
- USE="yes"
- ;;
- dox)
- X11="yes"
- ;;
- passwd=*)
- PASSWD="no"
- PASSWORD="${x#*=}"
- ;;
- speakup.synth=*)
- SPEAKUP="yes"
- SPEAKUP_MODULE="speakup_${x#*=}"
- X11="no"
- ;;
- speakup_*.{ser,port}=*)
- SPEAKUP_OPTIONS="${SPEAKUP_OPTIONS} ${x#*.}"
- ;;
- esac
- done
-}
-
-depend() {
- get_config
-
- if yesno "${SPEAKUP}"
- then
- modprobe ${SPEAKUP_MODULE} ${SPEAKUP_OPTIONS} > /dev/null 2>&1
- fi
-
- need modules $(list_services)
- before net
-}
-
-# Checks whether a service will be started by autoconfig.
-# Usage: check_svc var service [service_alternative]
-check_svc() {
- if yesno "${1}"
- then
- if rc-service -e "${2}"
- then
- echo "${2}"
- elif [ -n "${3}" ] && rc-service -e "${3}"
- then
- echo "${3}"
- fi
- fi
-}
-
-# Prints an ordered list of services that will be started by autoconfig.
-list_services() {
- get_config
- # Must not print anything here
- if yesno "${DETECT}"
- then
- local arch="$(uname -m)"
-
- case ${arch} in
- mips*)
- ACPI="no"
- APM="no"
- IDEDMA="no"
- ;;
- i?86|x86_64)
- :
- ;;
- alpha)
- ACPI="no"
- APM="no"
- ;;
- sparc*)
- ACPI="no"
- APM="no"
- ;;
- powerpc*)
- ACPI="no"
- APM="no"
- ;;
- ia64)
- APM="no"
- ;;
- esac
- fi
-
- local svcs="$(check_svc ${ACPI} acpid)"
- svcs="${svcs} $(check_svc ${ALSA} alsasound)"
- svcs="${svcs} $(check_svc ${ALSA} unmute)"
- if [ "${SPEAKUP_MODULE}" = "speakup_soft" ] && rc-service -e espeakup
- then
- svcs="${svcs} espeakup"
- fi
- svcs="${svcs} $(check_svc ${APM} apmd)"
- svcs="${svcs} $(check_svc ${BRLTTY} brltty)"
- svcs="${svcs} $(check_svc ${COLDPLUG} coldplug hotplug)"
- svcs="${svcs} $(check_svc ${GPM} gpm)"
- svcs="${svcs} $(check_svc ${IDEDMA} hdparm)"
- svcs="${svcs} $(check_svc ${NFS} nfsmount)"
- svcs="${svcs} $(check_svc ${PASSWD} pwgen)"
- svcs="${svcs} $(check_svc ${PCMCIA} pcmcia)"
- svcs="${svcs} $(check_svc ${SSHD} sshd)"
- svcs="${svcs} $(check_svc ${X11} xdm)"
-
- ### TODO: make this baselayout-2 compatible
- ### TODO: make these checks accurate using service dependencies
-
- echo ${svcs}
-}
-
-unpack_firmware() {
- # This unpacks any firmware tarballs.
- if [ -e /lib/firmware.tar.bz2 ]
- then
- ebegin "Unpacking firmware"
- mkdir -p /lib/firmware
- tar xjf /lib/firmware.tar.bz2 -C /lib/firmware
- eend 0
- fi
-}
-
-get_info() {
- local tmp
-
- if [ ! -z "${1}" -a ! -z "${2}" ]
- then
- tmp=$(grep "^$1[[:space:]]\+:" /proc/cpuinfo | head -n 1 | cut -d" " -f3-)
- eval "${2}='${tmp}'"
- fi
-}
-
-detect_mips() {
- get_info "cpu model" cpuinfo
- get_info "system type" machinfo
- cpuinfo="${cpuinfo%% FPU*}"
-
- case "${machinfo}" in
- "SGI Indigo2")
- case "${cpuinfo}" in
- R4*)
- machinfo="SGI Indigo2" # I2 R4x00
- ;;
- R8*)
- machinfo="SGI Indigo2 Power" # I2 R8000
- ;;
- R10*)
- machinfo="SGI Indigo2 Impact" # I2 R10000
- ;;
- esac
- ;;
- esac
-
- PC="Detected an ${machinfo} w/ ${numcpu} ${cpuinfo} CPU(s)"
-}
-
-detect_x86_amd64_ia64() {
- if [ "${1}" = "ia64" ]
- then
- get_info "family" cpuinfo
- else
- get_info "model name" cpuinfo
- fi
- get_info "cpu MHz" mhz
- mhz="${mhz%%.*}MHz"
-
- PC="Detected ${numcpu} ${cpuinfo} CPU(s) @ ${mhz}"
-}
-
-detect_alpha() {
- get_info "platform string" machinfo
- get_info "cpu" cpuinfo1
- get_info "cpu model" cpuinfo2
- get_info "cpus detected" numcpu
-
- PC="Detected ${numcpu} ${cpuinfo1} ${cpuinfo2} CPU(s) in a ${machinfo} system"
-}
-
-detect_ppc() {
- get_info "cpu" cpuinfo
- get_info "clock" mhz
- get_info "detected as" machinfo
- machinfo="${machinfo##*\(}"
- machinfo="${machinfo%%\)*}"
-
- local machtype=""
-
- case "${machinfo}" in
- "CHRP Pegasos2")
- machtype="Pegasos 2"
- ;;
- "CHRP IBM,9124-720")
- machtype="IBM OP720"
- ;;
- "iBook 2 rev. 2")
- machtype="Apple iBook G3"
- ;;
- "iMac G5"*)
- machtype="Apple iMac G5"
- ;;
- "MPC8241")
- machtype="Kurobox"
- ;;
- "PowerMac G5")
- machtype="Apple PowerMac G5"
- ;;
- "PowerMac G5 Dual Core")
- machtype="Apple PowerMac G5 Dual Core"
- ;;
- "PowerMac G4 AGP Graphics")
- machtype="Apple PowerMac G4"
- ;;
- "PowerBook Titanium"|"PowerBook G4 15\"")
- machtype="Apple Powerbook G4"
- ;;
- "Unknown Intrepid-based")
- machtype="Apple Mac-Mini"
- ;;
- *)
- machtype="Unknown PPC System"
- ;;
- esac
-
- PC="Detected a(n) ${machtype} w/ ${numcpu} ${cpuinfo} CPU(s)"
-}
-
-detect_sparc() {
- get_info "cpu" cpuinfo
- get_info "ncpus active" numcpu
- get_info "ncpus probed" numprobed
-
- PC="Detected ${numcpu} active ${cpuinfo} CPU(s) of ${numprobed} total"
-}
-
-start() {
- echo "0" > /proc/sys/kernel/printk
- get_config
-
- if yesno "${DETECT}"
- then
- ebegin "Hardware detection started"
- local numcpu="$(grep -c '^processor[[:space:]]\+:' /proc/cpuinfo)"
- local arch="$(uname -m)"
-
- case ${arch} in
- mips*)
- detect_mips
- ACPI="no"
- APM="no"
- IDEDMA="no"
- ;;
- i?86|x86_64)
- detect_x86_amd64_ia64
- ;;
- alpha)
- detect_alpha
- ACPI="no"
- APM="no"
- ;;
- sparc*)
- detect_sparc
- ACPI="no"
- APM="no"
- ;;
- powerpc*)
- detect_ppc
- ACPI="no"
- APM="no"
- ;;
- ia64)
- detect_x86_amd64_ia64 "ia64"
- APM="no"
- ;;
- *)
- PC=
- ;;
- esac
- [ -n "${PC}" ] && einfo "${PC}"
- eend
- else
- ewarn "Hardware detection disabled via cmdline ..."
- fi
-
- # Now, we check if we are supposed to run a coldplug script.
- if yesno "${COLDPLUG}"
- then
- # Check whether we should be using hotplug/coldplug or whether we should
- # just let udev do it all.
- # coldplug+hotplug would already be up due to list_services
- if ! rc-service -e coldplug && ! rc-service -e hotplug
- then
- # TODO: This needs to go to a seperate script, so that hwsetup can depend on it.
- unpack_firmware
- [ -x /sbin/udevtrigger ] && /sbin/udevtrigger
- fi
- [ -e /etc/sysconfig ] || mkdir -p /etc/sysconfig
- [ -x /usr/sbin/hwsetup ] && hwsetup
- else
- ewarn "Hotplug/Coldplug disabled via cmdline ..."
- fi
-
- if yesno "${APM}"
- then
- modprobe apm power_off=1 >/dev/null 2>&1 && \
- einfo "APM BIOS found, power management functions enabled ..."
- if ! service_started apmd
- then
- rc-service -i apmd start
- fi
- else
- einfo "Not Loading APM Bios support ..."
- fi
-
- if yesno "${ACPI}"
- then
- modprobe processor >/dev/null 2>&1 && \
- ebegin "ACPI power management functions enabled" && \
- 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
- modprobe thermal >/dev/null 2>&1
- modprobe video >/dev/null 2>&1
- modprobe dock >/dev/null 2>&1
- if ! service_started acpid
- then
- rc-service -i acpid start
- fi
- eend
- else
- einfo "Not Loading ACPI support ..."
- fi
-
- if ! yesno "${IDEDMA}"
- then
- ewarn "Disabling IDE DMA support ..."
- fi
-
- if ! yesno "${PCMCIA}"
- then
- ewarn "PCMCIA disabled via cmdline ..."
- fi
-
- if ! yesno "${DHCP}"
- then
- sed -i -e '/^ifconfig_eth.*dhcp.*/ s/^/#/' \
- -e '/^iface_eth.*dhcp.*/ s/^/#/' \
- -e '/^config_eth.*dhcp.*/ s/^/#/' \
- /etc/conf.d/net
- for i in `seq 0 4`
- do
- echo "config_eth${i}=( \"none\" )" >> /etc/conf.d/net
- done
- ewarn "Skipping DHCP broadcast ..."
- fi
-
- # Read in what hwsetup has found
- [ -f /etc/sysconfig/gentoo ] && source /etc/sysconfig/gentoo
-
- # Mouse
- # FIXME: If MOUSE_DEVICE is empty, we actually do not want to do anything, not even start gpm.
- if [ -n "${MOUSE_DEVICE}" ]
- then
- :
- # Migrated to autoconfig-gpm-pre
- fi
-
- if yesno "${DETECT}"
- then
- NETDEVICES="$(awk -F: '/eth.:|tr.:|ath.:|wlan.:/{print $1}' /proc/net/dev 2>/dev/null)"
- else
- DHCP="no"
- fi
-
- if [ -n "${NETDEVICES}" ]
- then
- for nics in ${NETDEVICES}
- do
- if yesno "${DHCP}"
- then
- einfo "Network device ${HILITE}${nics}${NORMAL} detected, DHCP broadcasting for IP ..."
- if [ -f /var/run/dhcpcd-${nics}.pid ]
- then
- if [ -z "$(/sbin/ifconfig ${nics} | grep 'inet addr')" ]
- then
- kill $(cat /var/run/dhcpcd-${nics}.pid)
- sleep 2
- dhcpcd -n -h $(hostname) ${nics}
- fi
- fi
- fi
- done
- if ! yesno "${PASSWD}"
- then
- echo "root:${PASSWORD}" | chpasswd > /dev/null 2>&1
- fi
- if yesno "${SSHD}"
- then
- # If we have passwd= on the command line, we do not run pwgen and we
- # set the root password to PASSWORD.
- if yesno "${PASSWD}"
- then
- ewarn "WARNING: You are starting sshd with a scrambled root password!!!"
- ewarn "WARNING: You need to set a root password to be able to login remotely."
- fi
- fi
- else
- ewarn "No Network device auto detected ..."
- fi
-
- if yesno "${ALSA}"
- then
- if [ -n "${SOUND_FULLNAME}" -o -n "${SOUND_DRIVER}" ]
- then
- einfo "Soundcard: "
-
- [ -n "${SOUND_FULLNAME}" ] \
- && einfo " ${WARN}${SOUND_FULLNAME} "
- [ -n "${SOUND_DRIVER}" ] \
- && einfo " driver = ${SOUND_DRIVER}"
- fi
- else
- ewarn "Skipping ALSA detection as requested on command line ..."
- fi
-
- [ -n "${XDESC}" ] && einfo "VideoCard: ${HILITE}${XDESC}${NORMAL}"
-
- killall hwsetup 2>/dev/null
- echo "6" > /proc/sys/kernel/printk
-}
-
-# vim: ts=4