Browse Source

nuke mdev and replace it with hotplug2 :)

SVN-Revision: 6512
Felix Fietkau 18 years ago
parent
commit
a44c286fdb

+ 3 - 0
include/kernel-build.mk

@@ -37,6 +37,9 @@ FEATURES:=$(sort $(FEATURES))
 
 # For target profile selection - the default set
 DEFAULT_PACKAGES:=base-files libgcc uclibc bridge busybox dnsmasq dropbear iptables mtd ppp ppp-mod-pppoe mtd kmod-ipt-nathelper
+ifneq ($(KERNEL),2.4)
+  DEFAULT_PACKAGES+=udevtrigger hotplug2
+endif
 
 ifeq ($(DUMP),1)
   all: dumpinfo

+ 1 - 1
package/base-files/files/etc/functions.sh

@@ -12,7 +12,7 @@ _C=0
 NO_EXPORT=1
 
 hotplug_dev() {
-	env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug net
+	env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug-call net
 }
 
 append() {

+ 7 - 0
package/base-files/files/etc/hotplug2.rules

@@ -0,0 +1,7 @@
+DEVPATH is set {
+			makedev /dev/%DEVICENAME% 0644
+}
+
+MODALIAS is set {
+			exec /sbin/modprobe -q %MODALIAS% ;
+}

+ 5 - 2
package/base-files/files/etc/init.d/boot

@@ -20,8 +20,11 @@ start() {
 	
 	# manually trigger hotplug before loading modules
 	for iface in $(awk -F: '/:/ {print $1}' /proc/net/dev); do
-		/usr/bin/env -i ACTION=add INTERFACE="$iface" /sbin/hotplug net
+		/usr/bin/env -i ACTION=add INTERFACE="$iface" /sbin/hotplug-call net
 	done
-	
+
+	/sbin/hotplug2 --persistent &
+	echo /sbin/hotplug-call > /proc/sys/kernel/hotplug
+
 	load_modules /etc/modules.d/*
 }

+ 0 - 5
package/base-files/files/etc/mdev.conf

@@ -1,5 +0,0 @@
-null 0:0 777
-zero 0:0 666
-console 0:5 0600
-tty 0:5 0660
-ttyS* 0:20 640

+ 1 - 1
package/base-files/files/lib/network/config.sh

@@ -157,7 +157,7 @@ setup_interface() {
 				done
 			}
 
-			env -i ACTION="ifup" INTERFACE="$config" DEVICE="$iface" PROTO=static /sbin/hotplug "iface" &
+			env -i ACTION="ifup" INTERFACE="$config" DEVICE="$iface" PROTO=static /sbin/hotplug-call "iface" &
 		;;
 		dhcp)
 			# prevent udhcpc from starting more than once

+ 0 - 2
package/base-files/files/sbin/hotplug → package/base-files/files/sbin/hotplug-call

@@ -1,8 +1,6 @@
 #!/bin/sh
 # Copyright (C) 2006 OpenWrt.org
 
-[ -x /sbin/mdev -a -n "$ACTION" -a -n "$DEVPATH" ] && /sbin/mdev "$@"
-
 # bypass the normal hotplug path for firmware loading
 # would otherwise cause problems with drivers like bcm43xx
 [ "$1" = "firmware" -a "$ACTION" = "add" ] && {

+ 1 - 1
package/base-files/files/sbin/ifdown

@@ -21,7 +21,7 @@ config_get proto "$cfg" proto
 
 config_get iface "$cfg" device
 [ "$proto" = "static" ] && {
-	env -i ACTION="ifdown" INTERFACE="$config" DEVICE="$iface" PROTO=static /sbin/hotplug "iface" &
+	env -i ACTION="ifdown" INTERFACE="$config" DEVICE="$iface" PROTO=static /sbin/hotplug-call "iface" &
 }
 
 # call interface stop handler

+ 1 - 1
package/base-files/files/sbin/mount_root

@@ -12,7 +12,7 @@ else
 	mount -t tmpfs tmpfs /dev -o size=512K
 	mknod /dev/console c 5 1
 	mkdir /dev/shm
-	/sbin/mdev -s
+	/sbin/hotplug2 --no-persistent --coldplug
 fi
 mkdir -p /dev/pts
 mount none /dev/pts -t devpts

+ 1 - 1
package/base-files/files/usr/share/udhcpc/default.script

@@ -14,7 +14,7 @@ hotplug_event() {
 		config_get proto $ifc proto
 		[ "$proto" = "dhcp" ] || continue
 
-		env -i ACTION="$1" INTERFACE="$ifc" DEVICE="$ifname" PROTO=dhcp /sbin/hotplug iface
+		env -i ACTION="$1" INTERFACE="$ifc" DEVICE="$ifname" PROTO=dhcp /sbin/hotplug-call iface
 	done
 }
 

+ 2 - 2
package/busybox/config/util-linux/Config.in

@@ -267,7 +267,7 @@ config BUSYBOX_CONFIG_LOSETUP
 
 config BUSYBOX_CONFIG_MDEV
 	bool "mdev"
-	default y
+	default n
 	help
 	  mdev is a mini-udev implementation: call it with -s to populate
 	  /dev from /sys, then "echo /sbin/mdev > /proc/sys/kernel/hotplug" to
@@ -276,7 +276,7 @@ config BUSYBOX_CONFIG_MDEV
 
 config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
 	bool "Support /etc/mdev.conf"
-	default y
+	default n
 	depends on BUSYBOX_CONFIG_MDEV
 	help
 	  The mdev config file contains lines that look like:

+ 0 - 7
package/busybox/target-config.in

@@ -2,10 +2,3 @@ config BUSYBOX_CONFIG_FEATURE_DEVFS
 	default y if LINUX_2_4
 	default n if LINUX_2_6
 
-config BUSYBOX_CONFIG_MDEV
-	default n if LINUX_2_4
-	default y if LINUX_2_6
-
-config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
-	default n if LINUX_2_4
-	default y if LINUX_2_6

+ 2 - 1
package/comgt/files/3g.button

@@ -13,6 +13,7 @@ button_action() {(
 )}
 
 [ "$ACTION" = "released" -a "$BUTTON" = "3g" ] && {
+	HOTPLUG="$(cat /proc/sys/kernel/hotplug)"
 	(echo /bin/true > /proc/sys/kernel/hotplug)
 
 	include /lib/network
@@ -31,5 +32,5 @@ button_action() {(
 	}
 	config_load network
 
-	(echo /sbin/hotplug > /proc/sys/kernel/hotplug)
+	(echo $HOTPLUG > /proc/sys/kernel/hotplug)
 } &

+ 1 - 1
package/ppp/files/etc/ppp/ip-down

@@ -1,5 +1,5 @@
 #!/bin/sh
-[ -z "$6" ] || env -i ACTION="ifdown" INTERFACE="$6" PROTO=ppp /sbin/hotplug "iface"
+[ -z "$6" ] || env -i ACTION="ifdown" INTERFACE="$6" PROTO=ppp /sbin/hotplug-call "iface"
 
 [ -d /etc/ppp/ip-down.d ] && {
 	for SCRIPT in /etc/ppp/ip-down.d/*

+ 1 - 1
package/ppp/files/etc/ppp/ip-up

@@ -1,5 +1,5 @@
 #!/bin/sh
-[ -z "$6" ] || env -i ACTION="ifup" INTERFACE="$6" PROTO=ppp /sbin/hotplug "iface"
+[ -z "$6" ] || env -i ACTION="ifup" INTERFACE="$6" PROTO=ppp /sbin/hotplug-call "iface"
 
 [ -d /etc/ppp/ip-up.d ] && {
 	for SCRIPT in /etc/ppp/ip-up.d/*

+ 10 - 0
package/udev/patches/02-udevtrigger_no_config.patch

@@ -0,0 +1,10 @@
+--- udev.old/udevtrigger.c	2007-03-03 18:42:09.000000000 +0100
++++ udev.dev/udevtrigger.c	2007-03-04 21:15:18.459211632 +0100
+@@ -446,7 +446,6 @@
+ 	};
+ 
+ 	logging_init("udevtrigger");
+-	udev_config_init();
+ 	dbg("version %s", UDEV_VERSION);
+ 	sysfs_init();
+ 

+ 1 - 1
target/linux/brcm-2.4/base-files/default/etc/preinit

@@ -65,7 +65,7 @@ eval ${FAILSAFE:+failsafe}
 
 lock -w /tmp/.failsafe
 set_state preinit
-echo /sbin/hotplug > /proc/sys/kernel/hotplug
+echo /sbin/hotplug-call > /proc/sys/kernel/hotplug
 
 ifconfig $ifname 0.0.0.0 down
 

+ 1 - 1
target/linux/generic-2.6/files/init

@@ -12,7 +12,7 @@ else
 	mknod /dev/console c 5 1
 	mkdir /dev/pts
 	mkdir /dev/shm
-	/sbin/mdev -s
+	/sbin/hotplug2 --no-persistent --coldplug
 fi
 
 mount none /dev/pts -t devpts