diff options
Diffstat (limited to 'package/base-files')
-rw-r--r-- | package/base-files/files/etc/hotplug2.rules | 12 | ||||
-rwxr-xr-x | package/base-files/files/etc/init.d/boot | 6 | ||||
-rwxr-xr-x | package/base-files/files/sbin/mount_root | 17 |
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 |