diff options
| -rw-r--r-- | include/kernel-build.mk | 3 | ||||
| -rwxr-xr-x | package/base-files/files/etc/functions.sh | 2 | ||||
| -rw-r--r-- | package/base-files/files/etc/hotplug2.rules | 7 | ||||
| -rwxr-xr-x | package/base-files/files/etc/init.d/boot | 7 | ||||
| -rw-r--r-- | package/base-files/files/etc/mdev.conf | 5 | ||||
| -rwxr-xr-x | package/base-files/files/lib/network/config.sh | 2 | ||||
| -rwxr-xr-x | package/base-files/files/sbin/hotplug-call (renamed from package/base-files/files/sbin/hotplug) | 2 | ||||
| -rwxr-xr-x | package/base-files/files/sbin/ifdown | 2 | ||||
| -rwxr-xr-x | package/base-files/files/sbin/mount_root | 2 | ||||
| -rwxr-xr-x | package/base-files/files/usr/share/udhcpc/default.script | 2 | ||||
| -rw-r--r-- | package/busybox/config/util-linux/Config.in | 4 | ||||
| -rw-r--r-- | package/busybox/target-config.in | 7 | ||||
| -rw-r--r-- | package/comgt/files/3g.button | 3 | ||||
| -rwxr-xr-x | package/ppp/files/etc/ppp/ip-down | 2 | ||||
| -rwxr-xr-x | package/ppp/files/etc/ppp/ip-up | 2 | ||||
| -rw-r--r-- | package/udev/patches/02-udevtrigger_no_config.patch | 10 | ||||
| -rwxr-xr-x | target/linux/brcm-2.4/base-files/default/etc/preinit | 2 | ||||
| -rwxr-xr-x | target/linux/generic-2.6/files/init | 2 | 
18 files changed, 38 insertions, 28 deletions
| diff --git a/include/kernel-build.mk b/include/kernel-build.mk index 93bf66dbc..3193e9d18 100644 --- a/include/kernel-build.mk +++ b/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 diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh index c29ae772a..4d84bb81e 100755 --- a/package/base-files/files/etc/functions.sh +++ b/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() { diff --git a/package/base-files/files/etc/hotplug2.rules b/package/base-files/files/etc/hotplug2.rules new file mode 100644 index 000000000..d2a931adc --- /dev/null +++ b/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% ; +} diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot index db7ec8cc3..ed5e7d8ba 100755 --- a/package/base-files/files/etc/init.d/boot +++ b/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/*  } diff --git a/package/base-files/files/etc/mdev.conf b/package/base-files/files/etc/mdev.conf deleted file mode 100644 index 89355830f..000000000 --- a/package/base-files/files/etc/mdev.conf +++ /dev/null @@ -1,5 +0,0 @@ -null 0:0 777 -zero 0:0 666 -console 0:5 0600 -tty 0:5 0660 -ttyS* 0:20 640 diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh index 95954bf15..8a596874d 100755 --- a/package/base-files/files/lib/network/config.sh +++ b/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 diff --git a/package/base-files/files/sbin/hotplug b/package/base-files/files/sbin/hotplug-call index 189cfee67..b1b6f97b2 100755 --- a/package/base-files/files/sbin/hotplug +++ b/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" ] && { diff --git a/package/base-files/files/sbin/ifdown b/package/base-files/files/sbin/ifdown index 540c69f16..e00a4e38d 100755 --- a/package/base-files/files/sbin/ifdown +++ b/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 diff --git a/package/base-files/files/sbin/mount_root b/package/base-files/files/sbin/mount_root index 9a87fadba..dd9d99d8e 100755 --- a/package/base-files/files/sbin/mount_root +++ b/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 diff --git a/package/base-files/files/usr/share/udhcpc/default.script b/package/base-files/files/usr/share/udhcpc/default.script index f39d21ed8..c72395356 100755 --- a/package/base-files/files/usr/share/udhcpc/default.script +++ b/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  } diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in index 0f219d70e..ab3dc3731 100644 --- a/package/busybox/config/util-linux/Config.in +++ b/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: diff --git a/package/busybox/target-config.in b/package/busybox/target-config.in index 77c58cef1..86f270b59 100644 --- a/package/busybox/target-config.in +++ b/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 diff --git a/package/comgt/files/3g.button b/package/comgt/files/3g.button index 54997d870..57f428607 100644 --- a/package/comgt/files/3g.button +++ b/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)  } & diff --git a/package/ppp/files/etc/ppp/ip-down b/package/ppp/files/etc/ppp/ip-down index 334bcb885..6bff00ca0 100755 --- a/package/ppp/files/etc/ppp/ip-down +++ b/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/* diff --git a/package/ppp/files/etc/ppp/ip-up b/package/ppp/files/etc/ppp/ip-up index 34b4b50e1..53a91343a 100755 --- a/package/ppp/files/etc/ppp/ip-up +++ b/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/* diff --git a/package/udev/patches/02-udevtrigger_no_config.patch b/package/udev/patches/02-udevtrigger_no_config.patch new file mode 100644 index 000000000..e9c22d4c0 --- /dev/null +++ b/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(); +  diff --git a/target/linux/brcm-2.4/base-files/default/etc/preinit b/target/linux/brcm-2.4/base-files/default/etc/preinit index 1c4e59f15..b7a9f0477 100755 --- a/target/linux/brcm-2.4/base-files/default/etc/preinit +++ b/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 diff --git a/target/linux/generic-2.6/files/init b/target/linux/generic-2.6/files/init index 292d429dc..af397d9ab 100755 --- a/target/linux/generic-2.6/files/init +++ b/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 | 
