summaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-07-21 14:02:53 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-07-21 14:02:53 +0000
commitf80d4fdc68858ba956a39e19ad6efa868beb827e (patch)
tree6774b82fd38b45494fc668c919d763dae64ab7c1 /package/base-files
parenta73e9e4b00485d9182471cae6e3911878a4486b8 (diff)
add config file /etc/config/network, add board-specific network.overrides (instead of nvram.overrides)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1519 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files')
-rwxr-xr-xpackage/base-files/default/bin/firstboot2
-rw-r--r--package/base-files/default/etc/config/network9
-rwxr-xr-xpackage/base-files/default/etc/functions.sh16
-rwxr-xr-xpackage/base-files/default/etc/init.d/S10boot30
-rwxr-xr-xpackage/base-files/default/etc/init.d/S40network1
-rwxr-xr-xpackage/base-files/default/etc/init.d/S45firewall2
-rwxr-xr-xpackage/base-files/default/etc/init.d/S50dnsmasq2
-rw-r--r--package/base-files/default/etc/nvram.overrides96
-rwxr-xr-xpackage/base-files/default/sbin/ifdown2
-rwxr-xr-xpackage/base-files/default/sbin/ifup3
10 files changed, 47 insertions, 116 deletions
diff --git a/package/base-files/default/bin/firstboot b/package/base-files/default/bin/firstboot
index cef258cf3..1c3d1a7d6 100755
--- a/package/base-files/default/bin/firstboot
+++ b/package/base-files/default/bin/firstboot
@@ -42,7 +42,7 @@ echo "done"
echo -n "setting up symlinks... "
for file in $(cd /rom; find * -type f; find * -type l;)
do {
- [ "${file%/*}" = "usr/lib/ipkg/info" ] && {
+ [ "${file%/*}" = "usr/lib/ipkg/info" -o "${file%/*}" = "etc/config" ] && {
cp -f /rom/$file $file
} || {
ln -sf /rom/$file $file
diff --git a/package/base-files/default/etc/config/network b/package/base-files/default/etc/config/network
new file mode 100644
index 000000000..049460160
--- /dev/null
+++ b/package/base-files/default/etc/config/network
@@ -0,0 +1,9 @@
+# Network configuration file
+
+# Uncomment the following statements to override the default or nvram config
+# lan_ifame="br0"
+# lan_proto="static"
+# lan_ipaddr="192.168.1.1"
+# lan_netmask="255.255.255.0"
+# lan_gateway=""
+# lan_dns=""
diff --git a/package/base-files/default/etc/functions.sh b/package/base-files/default/etc/functions.sh
index 60d6231f8..14f5011db 100755
--- a/package/base-files/default/etc/functions.sh
+++ b/package/base-files/default/etc/functions.sh
@@ -4,12 +4,18 @@ alias debug=${DEBUG:-:}
# allow env to override nvram
nvram () {
- case $1 in
- get) eval "echo \${NVRAM_$2:-\$(command nvram get $2)}";;
- *) command nvram $*;;
- esac
+ if [ -x /usr/sbin/nvram ]; then
+ case $1 in
+ get) eval "echo \${$2:-\$(command nvram get $2)}";;
+ *) command nvram $*;;
+ esac
+ else
+ case $1 in
+ get) eval "echo \${$2:-\${DEFAULT_$2}}";;
+ *);;
+ esac
+ fi
}
-. /etc/nvram.overrides
# valid interface?
if_valid () (
diff --git a/package/base-files/default/etc/init.d/S10boot b/package/base-files/default/etc/init.d/S10boot
index ead73521b..d45f8e809 100755
--- a/package/base-files/default/etc/init.d/S10boot
+++ b/package/base-files/default/etc/init.d/S10boot
@@ -6,20 +6,22 @@ mkdir -p /var/log
touch /var/log/wtmp
touch /var/log/lastlog
-[ "$(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"
+[ -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
diff --git a/package/base-files/default/etc/init.d/S40network b/package/base-files/default/etc/init.d/S40network
index d8b4e4125..a5afe5266 100755
--- a/package/base-files/default/etc/init.d/S40network
+++ b/package/base-files/default/etc/init.d/S40network
@@ -1,4 +1,5 @@
#!/bin/sh
+[ -e /etc/config/network] && . /etc/config/network
case "$1" in
start|restart)
ifup lan
diff --git a/package/base-files/default/etc/init.d/S45firewall b/package/base-files/default/etc/init.d/S45firewall
index cb779792d..188b9aaa8 100755
--- a/package/base-files/default/etc/init.d/S45firewall
+++ b/package/base-files/default/etc/init.d/S45firewall
@@ -4,6 +4,8 @@
${FAILSAFE:+exit}
. /etc/functions.sh
+. /etc/network.overrides
+[ -e /etc/config/network] && . /etc/config/network
WAN=$(nvram get wan_ifname)
LAN=$(nvram get lan_ifname)
diff --git a/package/base-files/default/etc/init.d/S50dnsmasq b/package/base-files/default/etc/init.d/S50dnsmasq
index 6a5af0f05..31d0a3697 100755
--- a/package/base-files/default/etc/init.d/S50dnsmasq
+++ b/package/base-files/default/etc/init.d/S50dnsmasq
@@ -1,5 +1,7 @@
#!/bin/sh
. /etc/functions.sh
+. /etc/network.overrides
+[ -e /etc/config/network] && . /etc/config/network
# interface to use for DHCP
iface=lan
diff --git a/package/base-files/default/etc/nvram.overrides b/package/base-files/default/etc/nvram.overrides
deleted file mode 100644
index d457af48e..000000000
--- a/package/base-files/default/etc/nvram.overrides
+++ /dev/null
@@ -1,96 +0,0 @@
-# NVRAM overrides
-#
-# This file handles the NVRAM quirks of various hardware.
-# THIS FILE IS NOT A REPLACEMENT FOR NVRAM
-
-# Load sysconf defaults
-[ -f /etc/sysconf ] && . /etc/sysconf
-
-# linksys bug; remove when not using static configuration for lan
-NVRAM_lan_proto="static"
-
-remap () {
- for type in lan wifi wan pppoe
- do
- for s in '' s
- do
- eval NVRAM_${type}_ifname$s=\"$(nvram get ${type}_ifname$s|sed s/$1/$2/g)\"
- done
- done
-}
-
-# hacks for wrt54g 1.x hardware
-[ "$(nvram get boardnum)" = "42" \
--a "$(nvram get boardtype)" = "bcm94710dev" ] && {
- debug "### wrt54g 1.x hack ###"
- NVRAM_vlan1hwname="et0"
- NVRAM_vlan2hwname="et0"
- FAILSAFE_ifnames="vlan1 vlan2 eth2"
- remap eth0 vlan2
- remap eth1 vlan1
-}
-
-# hacks for asus wl-500g deluxe
-[ "$(nvram get boardtype)" = "bcm95365r" \
--a "$(nvram get boardnum)" = "45" ] && {
- debug "### wl-500g deluxe hacks ###"
- NVRAM_vlan0hwname="et0"
- NVRAM_vlan1hwname="et0"
- FAILSAFE_ifnames="vlan0 eth1"
- remap eth0.1 vlan0
- remap eth0 vlan1
-}
-
-# hacks for asus wl-300g
-[ "$(nvram get productid)" = "WL300g" ] && {
- debug "### wl-300g hacks ###"
- NVRAM_lan_ifnames="eth0 eth2"
- NVRAM_wan_ifname="none"
-}
-
-# hacks for wap54g hardware
-[ "$(nvram get boardnum)" = "2" \
--o "$(nvram get boardnum)" = "1024" ] && {
- debug "### wap54g hack ###"
- NVRAM_wan_ifname="none"
- FAILSAFE_ifnames="eth0 eth1"
-}
-
-# hacks for buffalo wla2-g54l
-[ "$(nvram get boardnum)" = "00" \
--a "$(nvram get product_name)" = "Product_name" \
--o "$(nvram get product_name)" = "WLA2-G54L" ] && {
- debug "### wla2-g54l hacks ###"
- NVRAM_wan_ifname="none"
- NVRAM_lan_ifnames="vlan0"
-}
-
-# hack for asus wl-500g hardware
-[ "$(nvram get boardnum)" = "asusX" \
--a "$(nvram get boardtype)" = "bcm94710dev" ] && {
- FAILSAFE_ifnames="eth0 eth2"
-}
-
-# defaults if lan_ifname is missing
-[ -z "$(nvram get lan_ifname)" ] && {
- NVRAM_lan_ifname="br0"
- NVRAM_lan_ifnames=${FAILSAFE_ifnames:-"vlan0 vlan2 eth1 eth2 eth3"}
-}
-
-# defaults if wan_ifname is missing
-[ -z "$(nvram get wan_ifname)" ] && {
- NVRAM_wan_ifname="vlan1"
- NVRAM_wan_proto="dhcp"
-}
-
-# failsafe if reset is held
-[ "$FAILSAFE" = "true" ] && {
- echo "### YOU ARE IN FAILSAFE MODE ####"
- NVRAM_lan_ifname="br0"
- NVRAM_lan_ifnames=${FAILSAFE_ifnames:-"vlan0 vlan1 eth1 eth2 eth3"}
- NVRAM_lan_ipaddr=${BR2_SYSCONF_FAILSAFE_IP:-"192.168.1.1"}
- NVRAM_lan_netmask=${BR2_SYSCONF_FAILSAFE_NETMASK:-"255.255.255.0"}
- NVRAM_lan_hwaddr=${BR2_SYSCONF_FAILSAFE_MAC:-"00:0B:AD:0A:DD:00"}
- NVRAM_wan_ifname="none"
- NVRAM_wifi_ifname="none"
-}
diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown
index 6b255cc1b..950ee12db 100755
--- a/package/base-files/default/sbin/ifdown
+++ b/package/base-files/default/sbin/ifdown
@@ -1,6 +1,8 @@
#!/bin/ash
[ $# = 0 ] && { echo " $0 <group>"; exit; }
. /etc/functions.sh
+. /etc/network.overrides
+[ -e /etc/config/network ] && . /etc/config/network
type=$1
debug "### ifdown $type ###"
if=$(nvram get ${type}_ifname)
diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup
index 5dac3f998..6aa998713 100755
--- a/package/base-files/default/sbin/ifup
+++ b/package/base-files/default/sbin/ifup
@@ -1,6 +1,9 @@
#!/bin/ash
[ $# = 0 ] && { echo " $0 <group>"; exit; }
. /etc/functions.sh
+. /etc/network.overrides
+[ -e /etc/config/network ] && . /etc/config/network
+
type=$1
debug "### ifup $type ###"