aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
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 0000000000..6efd546689
--- /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 02519fbbc7..9990dc782f 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 85dbf314d3..e5fdd43ae1 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