aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-05-05 18:33:18 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-05-05 18:33:18 +0000
commitca7a8156029b94f9fe0e9d78a2502c0b0db98567 (patch)
treedbb58fde5a662952714b8c7221c94e9ea1c7e445 /package/base-files
parent341b6afd554369bcd700dd505210955d521e9ee9 (diff)
downloadupstream-ca7a8156029b94f9fe0e9d78a2502c0b0db98567.tar.gz
upstream-ca7a8156029b94f9fe0e9d78a2502c0b0db98567.tar.bz2
upstream-ca7a8156029b94f9fe0e9d78a2502c0b0db98567.zip
use hotplug2 for serializing hotplug events on 2.6
SVN-Revision: 7097
Diffstat (limited to 'package/base-files')
-rw-r--r--package/base-files/files/etc/hotplug2.rules12
-rwxr-xr-xpackage/base-files/files/etc/init.d/boot6
-rwxr-xr-xpackage/base-files/files/sbin/mount_root17
3 files changed, 15 insertions, 20 deletions
diff --git a/package/base-files/files/etc/hotplug2.rules b/package/base-files/files/etc/hotplug2.rules
deleted file mode 100644
index 7f1aca9178..0000000000
--- a/package/base-files/files/etc/hotplug2.rules
+++ /dev/null
@@ -1,12 +0,0 @@
-DEVICENAME ~~ (tun|tap[0-9]) {
- makedev /dev/net/%DEVICENAME% 0644
- next
-}
-
-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 3461eab2fc..d5a42e2d7e 100755
--- a/package/base-files/files/etc/init.d/boot
+++ b/package/base-files/files/etc/init.d/boot
@@ -27,13 +27,11 @@ start() {
ln -s /tmp/resolv.conf.auto /tmp/resolv.conf
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
- # manually trigger hotplug before loading modules
+ # the coldplugging of network interfaces needs to happen later, so we do it manually here
for iface in $(awk -F: '/:/ {print $1}' /proc/net/dev); do
/usr/bin/env -i ACTION=add INTERFACE="$iface" /sbin/hotplug-call net
done
-
- /sbin/hotplug2 --persistent --max-children 5 &
- echo /sbin/hotplug-call > /proc/sys/kernel/hotplug
+ /sbin/hotplug2 --persistent --max-children 1 &
# create /dev/root if it doesn't exist
[ -e /dev/root ] || {
diff --git a/package/base-files/files/sbin/mount_root b/package/base-files/files/sbin/mount_root
index 80078b5164..607c799682 100755
--- a/package/base-files/files/sbin/mount_root
+++ b/package/base-files/files/sbin/mount_root
@@ -4,17 +4,26 @@
mount none /proc -t proc
size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)<l)?$2-l:s}' /proc/meminfo)
+
mount none /tmp -t tmpfs -o size=$size,nosuid,nodev,mode=1777
-if grep devfs /proc/filesystems > /dev/null; then
+if grep devfs /proc/filesystems >/dev/null; then
mount none /dev -t devfs
else
- mount -t sysfs none /sys
mount -t tmpfs tmpfs /dev -o size=512K
mknod /dev/console c 5 1
exec >/dev/console </dev/console 2>&1
- mkdir /dev/shm
- /sbin/hotplug2 --no-persistent --coldplug --max-children 1
fi
+mkdir /dev/shm
+if grep sysfs /proc/filesystems >/dev/null; then
+ mount -t sysfs none /sys
+ HOTPLUG=""
+ # use a minimal ruleset only for creating device nodes
+ /sbin/hotplug2 --no-persistent --coldplug --set-rules-file /etc/hotplug2-init.rules
+else
+ HOTPLUG="/sbin/hotplug2-dnode"
+fi
+echo "$HOTPLUG" > /proc/sys/kernel/hotplug
+
mkdir -p /dev/pts
mount none /dev/pts -t devpts