summaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-06-25 08:32:25 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-06-25 08:32:25 +0000
commit1d5d64e647517cdd5bc8d0bb8c408babfec51d79 (patch)
tree1db4163deba31f36d771177dfcfabb21cd93f2ac /package/base-files
parent52242b5f8e3dc36c54338c921d43e468e3cce71d (diff)
fix failsafe on broadcom, send netlink events in diag when running linux 2.6
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7722 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files')
-rw-r--r--package/base-files/files/etc/hotplug2-init.rules9
-rwxr-xr-xpackage/base-files/files/etc/init.d/boot2
-rwxr-xr-xpackage/base-files/files/etc/preinit26
3 files changed, 22 insertions, 15 deletions
diff --git a/package/base-files/files/etc/hotplug2-init.rules b/package/base-files/files/etc/hotplug2-init.rules
new file mode 100644
index 000000000..6efd54668
--- /dev/null
+++ b/package/base-files/files/etc/hotplug2-init.rules
@@ -0,0 +1,9 @@
+DEVICENAME ~~ (tun|tap[0-9]) {
+ makedev /dev/net/%DEVICENAME% 0644
+ next
+}
+
+DEVPATH is set {
+ makedev /dev/%DEVICENAME% 0644
+}
+
diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot
index 02519fbbc..9990dc782 100755
--- a/package/base-files/files/etc/init.d/boot
+++ b/package/base-files/files/etc/init.d/boot
@@ -40,7 +40,7 @@ start() {
touch /var/log/lastlog
ln -s /tmp/resolv.conf.auto /tmp/resolv.conf
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
-
+
/sbin/hotplug2 --persistent --max-children 1 &
# the coldplugging of network interfaces needs to happen later, so we do it manually here
diff --git a/package/base-files/files/etc/preinit b/package/base-files/files/etc/preinit
index 85dbf314d..e5fdd43ae 100755
--- a/package/base-files/files/etc/preinit
+++ b/package/base-files/files/etc/preinit
@@ -23,7 +23,8 @@ else
mount -t tmpfs tmpfs /dev -o size=512K
mknod /dev/console c 5 1
mkdir /dev/shm
- /sbin/hotplug2 --no-persistent --coldplug --set-rules-file /etc/hotplug2-init.rules
+ /sbin/hotplug2 --coldplug --set-rules-file /etc/hotplug2-init.rules
+ /sbin/hotplug2 --no-coldplug --persistent --set-rules-file /etc/hotplug2-init.rules &
M0=/dev/ptmx
M1=/dev/ptmx
HOTPLUG=
@@ -42,19 +43,16 @@ dd if=/dev/console of=/dev/null bs=1 count=0 >/dev/null 2>/dev/null && {
exec <$M0 >$M1 2>&0
-{
- echo "- preinit -"
- [ -e /etc/preinit.arch ] && . /etc/preinit.arch
- set_state preinit
+echo "- preinit -"
- echo "$HOTPLUG" > /proc/sys/kernel/hotplug
-
- eval ${FAILSAFE:+failsafe}
- lock -w /tmp/.failsafe
-
- mount_root
-
- echo "- init -"
-} | tee /tmp/preinit.log
+[ -e /etc/preinit.arch ] && . /etc/preinit.arch
+set_state preinit
+echo "$HOTPLUG" > /proc/sys/kernel/hotplug
+eval ${FAILSAFE:+failsafe}
+lock -w /tmp/.failsafe
+mount_root
+echo "- init -"
+
+killall hotplug2
exec /sbin/init