#!/bin/sh
-echo "S" > /proc/jffs2_bbc
+# Copyright (C) 2006 OpenWrt.org
+
+. /etc/functions.sh
+
+[ -f /proc/mounts ] || /sbin/mount_root
+[ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
+vconfig set_name_type VLAN_PLUS_VID_NO_PAD
+
+HOSTNAME=${wan_hostname%%.*}
+echo ${HOSTNAME:=OpenWrt}>/proc/sys/kernel/hostname
mkdir -p /var/run
mkdir -p /var/log
touch /var/log/wtmp
touch /var/log/lastlog
+[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
-[ "$(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}')
-}
+for iface in $(/sbin/ifconfig -a | awk '{print $1}' | grep eth); do
+ /usr/bin/env -i ACTION=add INTERFACE="$iface" /sbin/hotplug net
+done
-# 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)$(nvram get vlan1ports)" ] && {
- nvram set vlan0ports="1 2 3 4 5*"
- nvram set vlan1ports="0 5"
-}
-
-sed 's/^[^#]/insmod &/' /etc/modules /etc/modules.d/* 2>&-|ash
+load_modules /etc/modules /etc/modules.d/*
ifconfig lo 127.0.0.1 up
ifconfig eth0 promisc
-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" ] && {
- { mount|grep "on / type jffs2" 1>&-; } || firstboot
-}