fix hotplug issue with compiled-in ethernet drivers
[openwrt.git] / openwrt / package / base-files / default / etc / init.d / S10boot
index 37eb7b3..9dd0beb 100755 (executable)
@@ -1,41 +1,33 @@
 #!/bin/sh
-echo "S" > /proc/jffs2_bbc
+. /etc/nvram.sh
 
-mkdir -p /var/run
-mkdir -p /var/log
-touch /var/log/wtmp
-touch /var/log/lastlog
-
-[ -x /usr/sbin/nvram ] && {
-  [ "$(nvram get il0macaddr)" = "00:90:4c:5f:00:2a" ] && {
-    # if default wifi mac, set two higher than the lan mac
-    nvram set il0macaddr=$(nvram get et0macaddr|
-    awk '{OFS=FS=":";for(x=7,y=2;--x;){$x=sprintf("%02x",(y+="0x"$x)%256);y/=256}print}')
-  }
-
-  # set up the vlan*ports variables for the asus wl-500g deluxe
-  # if they don't already exist 
-  [  "$(nvram get boardtype)" = "bcm95365r" \
-  -a "$(nvram get boardnum)" = "45" \
-  -a -z "$(nvram get vlan0ports)" \
-  -a -z "$(nvram get vlan1ports)" ] && {
-       nvram set vlan0ports="1 2 3 4 5*"
-       nvram set vlan1ports="0 5"
-  }
+[ "$(uname -r|grep -c 2.4)" = "1" ] && {
+        echo "S" > /proc/jffs2_bbc
 }
 
-sed 's/^[^#]/insmod &/' /etc/modules /etc/modules.d/* 2>&-|ash
-
-ifconfig lo 127.0.0.1 up
-ifconfig eth0 promisc
+vconfig set_name_type VLAN_PLUS_VID_NO_PAD
 
 HOSTNAME=$(nvram get wan_hostname)
 HOSTNAME=${HOSTNAME%%.*}
 echo ${HOSTNAME:=OpenWrt}>/proc/sys/kernel/hostname
 
-vconfig set_name_type VLAN_PLUS_VID_NO_PAD
-
 # 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
+
+for iface in $(/sbin/ifconfig -a | awk '{print $1}' | grep eth); do
+       /usr/bin/env -i ACTION=add INTERFACE="$iface" /sbin/hotplug net
+done
+
+sed 's/^[^#]/insmod &/' /etc/modules /etc/modules.d/* 2>&-|ash
+
+ifconfig lo 127.0.0.1 up
+ifconfig eth0 promisc
+
This page took 0.025971 seconds and 4 git commands to generate.