From 5bdfa8ccc47ac834adab356dc0d8dfb184ff1e59 Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Tue, 15 Feb 2011 16:50:09 -0600 Subject: split out firmware extraction and hwsetup Firmware extraction and hwsetup are now separate services. --- init.d/autoconfig | 30 +++++------------------------- init.d/firmware | 22 ++++++++++++++++++++++ init.d/hwsetup | 14 ++++++++++++++ 3 files changed, 41 insertions(+), 25 deletions(-) create mode 100755 init.d/firmware create mode 100755 init.d/hwsetup diff --git a/init.d/autoconfig b/init.d/autoconfig index 55fbcfd..e2655a6 100755 --- a/init.d/autoconfig +++ b/init.d/autoconfig @@ -272,6 +272,10 @@ list_services() { svcs="${svcs} $(check_svc ${APM} apmd)" svcs="${svcs} $(check_svc ${BRLTTY} brltty)" svcs="${svcs} $(check_svc ${COLDPLUG} coldplug hotplug)" + if yesno "$COLDPLUG" && ! rc-service -e coldplug && ! rc-service -e hotplug + then + echo firmware hwsetup + fi svcs="${svcs} $(check_svc ${GPM} gpm-pre)" svcs="${svcs} $(check_svc ${GPM} gpm)" svcs="${svcs} $(check_svc ${IDEDMA} hdparm)" @@ -287,17 +291,6 @@ list_services() { 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 @@ -460,21 +453,8 @@ start() { ewarn "Hardware detection disabled via cmdline ..." fi - # Now, we check if we are supposed to run a coldplug script. - if yesno "${COLDPLUG}" + 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 diff --git a/init.d/firmware b/init.d/firmware new file mode 100755 index 0000000..d65d601 --- /dev/null +++ b/init.d/firmware @@ -0,0 +1,22 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# This unpacks any firmware tarballs. + +depend() { + : +} + +start() { +einfo checking for firmware to unpack + 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 + [ -x /sbin/udevtrigger ] && /sbin/udevtrigger +} diff --git a/init.d/hwsetup b/init.d/hwsetup new file mode 100755 index 0000000..aac4db5 --- /dev/null +++ b/init.d/hwsetup @@ -0,0 +1,14 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +depend() { + need firmware +} + +start() { + einfo starting hwsetup + [ -e /etc/sysconfig ] || mkdir -p /etc/sysconfig + [ -x /usr/sbin/hwsetup ] && hwsetup +} -- cgit v1.2.3-18-g5258