summaryrefslogtreecommitdiffstats
path: root/openwrt/package/base-files/default/etc/init.d/S10boot
blob: 66fece1d73a04283d7e2ae3654c88ca19a4dc386 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh
. /etc/nvram.sh

[ "$(uname -r|grep -c 2.4)" = "1" ] && {
        echo "S" > /proc/jffs2_bbc
}

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"
  }
}

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 ] && {
  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
}

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
}