diff options
author | William Hubbs <williamh@gentoo.org> | 2011-02-13 13:43:08 -0600 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2011-02-13 13:43:08 -0600 |
commit | 99acb31282f5e024abaec2f1b475c132d539cfcd (patch) | |
tree | 3f7cc524973cf49f94d3c70ce9431de31fcd5ff7 /autoconfig | |
parent | start xdm from autoconfig (diff) | |
download | livecd-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-x | autoconfig | 610 |
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 |