-#!/bin/sh
-. /etc/nvram.sh
-
-[ "$(uname -r|grep -c 2.4)" = "1" ] && {
- echo "S" > /proc/jffs2_bbc
-}
-
-vconfig set_name_type VLAN_PLUS_VID_NO_PAD
-
-HOSTNAME=$(nvram get wan_hostname)
-HOSTNAME=${HOSTNAME%%.*}
-echo ${HOSTNAME:=OpenWrt}>/proc/sys/kernel/hostname
-
-# automagically run firstboot
-[ -z "$FAILSAFE" -a -z "$(nvram get no_root_swap)" ] && {
- { mount|grep "on / type jffs2" 1>&-; } || firstboot
-}
-
-mkdir -p /var/run
-mkdir -p /var/log
-touch /var/log/wtmp
-touch /var/log/lastlog
-[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
-
-sed 's/^[^#]/insmod &/' /etc/modules /etc/modules.d/* 2>&-|ash
-
-ifconfig lo 127.0.0.1 up
-ifconfig eth0 promisc
-
-[ "$(uname -r|grep -c 2.6)" = "1" ] && [ -x /sbin/robocfg ] && { # FIXME: replace when the new switch driver is integrated...
- robocfg switch disable vlans enable reset vlan 0 ports "0 1 2 3 5t" vlan 1 ports "4 5t" port 4 state enabled stp none switch enable
- robocfg show
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org
+
+start() {
+ [ -f /proc/mounts ] || /sbin/mount_root
+ [ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
+ vconfig set_name_type DEV_PLUS_VID_NO_PAD
+
+ HOSTNAME=${wan_hostname%%.*}
+ echo ${HOSTNAME:=OpenWrt}>/proc/sys/kernel/hostname
+
+ mkdir -p /var/run
+ mkdir -p /var/log
+ mkdir -p /var/lock
+ touch /var/log/wtmp
+ touch /var/log/lastlog
+ [ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
+
+ # 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
+ done
+
+ load_modules /etc/modules /etc/modules.d/*