summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/kernel-build.mk3
-rwxr-xr-xpackage/base-files/files/etc/functions.sh2
-rw-r--r--package/base-files/files/etc/hotplug2.rules7
-rwxr-xr-xpackage/base-files/files/etc/init.d/boot7
-rw-r--r--package/base-files/files/etc/mdev.conf5
-rwxr-xr-xpackage/base-files/files/lib/network/config.sh2
-rwxr-xr-xpackage/base-files/files/sbin/hotplug-call (renamed from package/base-files/files/sbin/hotplug)2
-rwxr-xr-xpackage/base-files/files/sbin/ifdown2
-rwxr-xr-xpackage/base-files/files/sbin/mount_root2
-rwxr-xr-xpackage/base-files/files/usr/share/udhcpc/default.script2
-rw-r--r--package/busybox/config/util-linux/Config.in4
-rw-r--r--package/busybox/target-config.in7
-rw-r--r--package/comgt/files/3g.button3
-rwxr-xr-xpackage/ppp/files/etc/ppp/ip-down2
-rwxr-xr-xpackage/ppp/files/etc/ppp/ip-up2
-rw-r--r--package/udev/patches/02-udevtrigger_no_config.patch10
-rwxr-xr-xtarget/linux/brcm-2.4/base-files/default/etc/preinit2
-rwxr-xr-xtarget/linux/generic-2.6/files/init2
18 files changed, 38 insertions, 28 deletions
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 93bf66dbcb..3193e9d185 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 c29ae772ac..4d84bb81e0 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 0000000000..d2a931adcf
--- /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 db7ec8cc3a..ed5e7d8ba5 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 89355830f0..0000000000
--- 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 95954bf15a..8a596874d4 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 189cfee67c..b1b6f97b23 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 540c69f169..e00a4e38da 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 9a87fadbaa..dd9d99d8e6 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 f39d21ed8c..c723953566 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 0f219d70e2..ab3dc3731d 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 77c58cef14..86f270b590 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 54997d870a..57f4286073 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 334bcb885a..6bff00ca03 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 34b4b50e15..53a91343a5 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 0000000000..e9c22d4c0b
--- /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 1c4e59f152..b7a9f04772 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 292d429dcd..af397d9abb 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