From 4c808a519b915dee8be333e6926bcda294efe8c1 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 21 Dec 2005 22:43:22 +0000 Subject: udev now loads modules - use that, remove the kmodule stuff don't set hotplug, it can't possibly work --- initscripts.spec | 11 ++-- rc.d/init.d/network | 6 --- rc.d/rc.sysinit | 82 +---------------------------- src/Makefile | 3 +- sysconfig/network-scripts/network-functions | 4 -- 5 files changed, 9 insertions(+), 97 deletions(-) diff --git a/initscripts.spec b/initscripts.spec index 6a62fa2a..89a34562 100644 --- a/initscripts.spec +++ b/initscripts.spec @@ -17,15 +17,15 @@ Requires: bash >= 3.0, SysVinit >= 2.85-38 Requires: /sbin/ip, /sbin/arping, net-tools Requires: /etc/redhat-release, dev Requires: ethtool >= 1.8-2, /sbin/nash, /sbin/runuser +Requires: udev >= 078-1 Conflicts: mkinitrd < 4.0, kernel < 2.6.12 Conflicts: ypbind < 1.6-12, psacct < 6.3.2-12, kbd < 1.06-19, lokkit < 0.50-14 -Conflicts: udev < 0:048, dhclient < 3.0.3-7 +Conflicts: dhclient < 3.0.3-7 Conflicts: tcsh < 6.13-5 #Conflicts: diskdumputils < 1.1.0 Obsoletes: rhsound sapinit Prereq: /sbin/chkconfig, /usr/sbin/groupadd, /bin/sed, mktemp, fileutils, sh-utils BuildPrereq: glib2-devel popt gettext pkgconfig -BuildPrereq: kudzu-devel >= 1.1.80 %description The initscripts package contains the basic system scripts used to boot @@ -184,7 +184,6 @@ rm -rf $RPM_BUILD_ROOT /sbin/consoletype /sbin/genhostid /sbin/getkey -/sbin/kmodule %attr(2755,root,root) /sbin/netreport /sbin/initlog /sbin/service @@ -206,7 +205,11 @@ rm -rf $RPM_BUILD_ROOT %ghost %attr(0664,root,utmp) /var/run/utmp %changelog -* Thu Dec 15 2005 Bill Nottingham +* Wed Dec 21 2005 Bill Nottingham 8.20-1 +- remove kmodule. udev handles module loading now +- require appropriate udev + +* Thu Dec 15 2005 Bill Nottingham 8.19-1 - Require syslog, for alternate implementations thereof (#172885) - Fix fsck invocation for weeding out netdev devices (#175803) diff --git a/rc.d/init.d/network b/rc.d/init.d/network index 93c9a3a5..579372ca 100755 --- a/rc.d/init.d/network +++ b/rc.d/init.d/network @@ -86,10 +86,6 @@ case "$1" in ;; esac - oldhotplug=`sysctl kernel.hotplug 2>/dev/null | \ - awk '{ print $3 }' 2>/dev/null` - sysctl -w kernel.hotplug="/etc/hotplug/firmware.agent" > /dev/null 2>&1 - vlaninterfaces="" cipeinterfaces="" xdslinterfaces="" @@ -159,8 +155,6 @@ case "$1" in fi done - sysctl -w kernel.hotplug=$oldhotplug > /dev/null 2>&1 - # Add non interface-specific static-routes. if [ -f /etc/sysconfig/static-routes ]; then grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do diff --git a/rc.d/rc.sysinit b/rc.d/rc.sysinit index 10c9f408..b4e812cd 100755 --- a/rc.d/rc.sysinit +++ b/rc.d/rc.sysinit @@ -153,13 +153,11 @@ if [ -n "$LOGLEVEL" ]; then /bin/dmesg -n $LOGLEVEL fi -[ -x /sbin/start_udev ] && /sbin/start_udev # Only read this once. cmdline=$(cat /proc/cmdline) # Initialize hardware -sysctl -w kernel.hotplug="/sbin/udevsend" >/dev/null 2>&1 if [ -f /proc/sys/kernel/modprobe ]; then if ! strstr "$cmdline" nomodules && [ -f /proc/modules ] ; then sysctl -w kernel.modprobe="/sbin/modprobe" >/dev/null 2>&1 @@ -169,85 +167,7 @@ if [ -f /proc/sys/kernel/modprobe ]; then fi fi -echo -n $"Initializing hardware... " - -ide="" -scsi="" -network="" -audio="" -other="" -eval `kmodule -d | while read devtype mod ; do - case "$devtype" in - "IDE") ide="$ide $mod" - echo "ide=\"$ide"\";; - "SCSI") scsi="$scsi $mod" - echo "scsi=\"$scsi"\";; - "NETWORK") network="$network $mod" - echo "network=\"$network"\";; - "AUDIO") audio="$audio $mod" - echo "audio=\"$audio"\";; - *) other="$other $mod" - echo "other=\"$other"\";; - esac -done` - -blacklist=$(modprobe -c | LC_ALL=C awk '/^[[:space:]]*blacklist/ { print $2 }') - -load_module () { - for module in $blacklist ; do - [ "$1" = "$module" ] && return - done - modprobe $1 >/dev/null 2>&1 -} - -# IDE -for module in $ide ; do - load_module $module -done - -# SCSI -for module in `/sbin/modprobe -c | LC_ALL=C awk '/^alias[[:space:]]+scsi_hostadapter[0-9]*[[:space:]]/ { print $3 }'` $scsi; do - load_module $module -done -load_module floppy - -echo -n $" storage" - -# Network -pushd /etc/sysconfig/network-scripts >/dev/null 2>&1 -interfaces=`ls ifcfg* | LC_ALL=C egrep -v '(ifcfg-lo|:|rpmsave|rpmorig|rpmnew)' | \ - LC_ALL=C egrep -v '(~|\.bak)$' | \ - LC_ALL=C egrep 'ifcfg-[A-Za-z0-9\._-]+$' | \ - sed 's/^ifcfg-//g' | - sed 's/[0-9]/ &/' | LC_ALL=C sort -k 1,1 -k 2n | sed 's/ //'` - -for i in $interfaces ; do - eval $(LC_ALL=C fgrep "DEVICE=" ifcfg-$i) - load_module $DEVICE -done -popd >/dev/null 2>&1 - -for module in $network ; do - load_module $module -done - -echo -n $" network" - -# Sound -for module in `/sbin/modprobe -c | LC_ALL=C awk '/^alias[[:space:]]+snd-card-[[:digit:]]+[[:space:]]/ { print $3 }'` $audio; do - load_module $module -done - -echo -n $" audio" - -# Everything else (duck and cover) -for module in $other ; do - load_module $module -done - -echo -n $" done. " -success -echo +/sbin/start_udev # Load other user-defined modules for file in /etc/sysconfig/modules/*.modules ; do diff --git a/src/Makefile b/src/Makefile index 9ef54794..836ae70b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,7 +1,7 @@ CFLAGS+=$(RPM_OPT_FLAGS) -Wall -D_GNU_SOURCE PROGS=usernetctl doexec netreport testd usleep ipcalc initlog \ - getkey ppp-watch consoletype genhostid kmodule + getkey ppp-watch consoletype genhostid PPPWATCH_OBJS=ppp-watch.o shvar.o INITLOG_OBJS=initlog.o process.o USLEEP_OBJS=usleep.o @@ -16,7 +16,6 @@ clean: install: mkdir -p $(ROOT)/bin $(ROOT)/usr/sbin $(ROOT)$(mandir)/man{1,8} $(ROOT)/etc install -m 755 doexec $(ROOT)/bin/doexec - install -m 755 kmodule $(ROOT)/sbin/kmodule install -m 755 usleep $(ROOT)/bin/usleep install -m 4755 usernetctl $(ROOT)/usr/sbin/usernetctl install -m 2755 netreport $(ROOT)/sbin/netreport diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions index a42846a1..d72283ad 100644 --- a/sysconfig/network-scripts/network-functions +++ b/sysconfig/network-scripts/network-functions @@ -183,13 +183,9 @@ is_available () if [ -z "$alias" -o "$alias" = "off" -o "$alias" = "/bin/true" ]; then return 2 fi - HOTPLUG=`cat /proc/sys/kernel/hotplug 2>/dev/null` - echo "/etc/hotplug/firmware.agent" > /proc/sys/kernel/hotplug modprobe $1 > /dev/null 2>&1 || { - [ -f /proc/sys/kernel/hotplug ] && echo "$HOTPLUG" > /proc/sys/kernel/hotplug return 1 } - [ -f /proc/sys/kernel/hotplug ] && echo "$HOTPLUG" > /proc/sys/kernel/hotplug # if it is a mainframe ccwgroup device, configure it before # trying to rename it: configure_ccwgroup_device -- cgit v1.2.1