summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
-rwxr-xr-xpackage/base-files/default/sbin/ifdown2
-rwxr-xr-xpackage/base-files/default/sbin/ifup3
-rw-r--r--package/ppp/files/ifup.pppoe2
-rw-r--r--package/pptp/files/ifup.pptp2
-rwxr-xr-xscripts/configtest.pl9
-rw-r--r--target/linux/package/Makefile3
-rw-r--r--target/linux/package/openwrt/Makefile23
-rw-r--r--target/linux/package/openwrt/files/network.overrides.ar726
-rw-r--r--target/linux/package/openwrt/files/network.overrides.brcm (renamed from package/base-files/default/etc/nvram.overrides)48
-rw-r--r--target/linux/package/openwrt/ipkg/base-files-arch.control6
-rw-r--r--target/linux/package/openwrt/ipkg/openwrt-utils.control9
18 files changed, 132 insertions, 63 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/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 ###"
diff --git a/package/ppp/files/ifup.pppoe b/package/ppp/files/ifup.pppoe
index 6bac6a6d1..94179a3ea 100644
--- a/package/ppp/files/ifup.pppoe
+++ b/package/ppp/files/ifup.pppoe
@@ -1,6 +1,8 @@
#!/bin/sh
[ $# = 0 ] && { echo " $0 <group>"; exit; }
. /etc/functions.sh
+. /etc/nvram.overrides
+[ -e /etc/config/network ] && . /etc/config/network
type=$1
[ "$(nvram get ${type}_proto)" = "pppoe" ] || {
diff --git a/package/pptp/files/ifup.pptp b/package/pptp/files/ifup.pptp
index 21a574acb..833544077 100644
--- a/package/pptp/files/ifup.pptp
+++ b/package/pptp/files/ifup.pptp
@@ -1,5 +1,7 @@
#!/bin/sh
. /etc/functions.sh
+. /etc/nvram.overrides
+[ -e /etc/config/network ] && . /etc/config/network
type=$1
[ "$(nvram get ${type}_proto)" = "pptp" ] || exit
diff --git a/scripts/configtest.pl b/scripts/configtest.pl
index 3ca33d86c..709d2be74 100755
--- a/scripts/configtest.pl
+++ b/scripts/configtest.pl
@@ -1,13 +1,14 @@
#!/usr/bin/perl
my %change = (
- 'BUSYBOX' => 'make -C package busybox-clean',
- 'OPENVPN_' => 'make -C package openvpn-clean',
+ 'BUSYBOX' => 'make package/busybox-clean',
+ 'OPENVPN_' => 'make package/openvpn-clean',
+ 'SYSCONF_' => 'make package/base-files-clean target_clean',
'' => 'make target_clean'
);
my @configfiles = (
- ['package/linux/linux.config', 'build_mipsel/linux/.config' =>
- 'make -C package linux-clean']
+# ['package/linux/linux.config', 'build_mipsel/linux/.config' =>
+# 'make -C package linux-clean']
);
diff --git a/target/linux/package/Makefile b/target/linux/package/Makefile
index adce4d4ee..a08d9048a 100644
--- a/target/linux/package/Makefile
+++ b/target/linux/package/Makefile
@@ -5,9 +5,10 @@ package-$(BR2_PACKAGE_KMOD_FUSE) += fuse
package-$(BR2_PACKAGE_KMOD_MINI_FO) += mini_fo
package-$(BR2_PACKAGE_KMOD_SHFS) += shfs
package-$(BR2_PACKAGE_KMOD_OPENSWAN) += openswan
+package-y += openwrt
ifeq ($(BOARD),brcm)
-package-y += nvram openwrt
+package-y += nvram
ifeq ($(LINUX_VERSION),2.4.30)
package-$(BR2_PACKAGE_KMOD_WLCOMPAT) += wlcompat
diff --git a/target/linux/package/openwrt/Makefile b/target/linux/package/openwrt/Makefile
index ee38f75a1..5d2ea199e 100644
--- a/target/linux/package/openwrt/Makefile
+++ b/target/linux/package/openwrt/Makefile
@@ -2,29 +2,38 @@
include $(TOPDIR)/rules.mk
-PKG_NAME := openwrt-utils
-PKG_RELEASE := 2
+PKG_NAME := base-files-arch
+PKG_RELEASE := 1
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(TOPDIR)/package/rules.mk
BR2_PACKAGE_OPENWRT:=y # ignore menuconfig
-$(eval $(call PKG_template,OPENWRT,openwrt-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
-
+$(eval $(call PKG_template,OPENWRT,$(PKG_NAME),$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(PKG_BUILD_DIR)/.prepared:
mkdir -p $(PKG_BUILD_DIR)
touch $@
-
+
+ifeq ($(BOARD),brcm)
$(PKG_BUILD_DIR)/jffs2root: jffs2root.c
$(TARGET_CC) -o $@ $<
$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/jffs2root
- touch $@
-$(IPKG_OPENWRT):
+$(IDIR_OPENWRT)/sbin/jffs2root:
mkdir -p $(IDIR_OPENWRT)/sbin
cp $(PKG_BUILD_DIR)/jffs2root $(IDIR_OPENWRT)/sbin
+
+$(IPKG_OPENWRT): $(IDIR_OPENWRT)/sbin/jffs2root
+endif
+
+$(PKG_BUILD_DIR)/.built:
+ touch $@
+
+$(IPKG_OPENWRT):
+ mkdir -p $(IDIR_OPENWRT)/etc
+ cp files/network.overrides.$(BOARD) $(IDIR_OPENWRT)/etc/network.overrides
$(RSTRIP) $(IDIR_OPENWRT)
$(IPKG_BUILD) $(IDIR_OPENWRT) $(PACKAGE_DIR)
diff --git a/target/linux/package/openwrt/files/network.overrides.ar7 b/target/linux/package/openwrt/files/network.overrides.ar7
new file mode 100644
index 000000000..dc58a7e59
--- /dev/null
+++ b/target/linux/package/openwrt/files/network.overrides.ar7
@@ -0,0 +1,26 @@
+# 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
+
+DEFAULT_lan_proto="static"
+DEFAULT_lan_ifname="eth0"
+DEFAULT_lan_ifnames="eth0"
+DEFAULT_lan_ipaddr=${BR2_SYSCONF_FAILSAFE_IP:-"192.168.1.1"}
+DEFAULT_lan_netmask=${BR2_SYSCONF_FAILSAFE_NETMASK:-"255.255.255.0"}
+DEFAULT_lan_hwaddr=${BR2_SYSCONF_FAILSAFE_MAC:-"00:0B:AD:0A:DD:00"}
+
+# failsafe if reset is held
+[ "$FAILSAFE" = "true" ] && {
+ echo "### YOU ARE IN FAILSAFE MODE ####"
+ lan_ifname=${DEFAULT_lan_proto}
+ lan_ifnames=${FAILSAFE_ifnames:-${DEFAULT_lan_ifnames}}
+ lan_ipaddr=$DEFAULT_lan_ipaddr
+ lan_netmask=$DEFAULT_lan_netmask
+ lan_hwaddr=$DEFAULT_lan_hwaddr
+ wan_ifname="none"
+ wifi_ifname="none"
+}
diff --git a/package/base-files/default/etc/nvram.overrides b/target/linux/package/openwrt/files/network.overrides.brcm
index d457af48e..9766108a9 100644
--- a/package/base-files/default/etc/nvram.overrides
+++ b/target/linux/package/openwrt/files/network.overrides.brcm
@@ -7,14 +7,14 @@
[ -f /etc/sysconf ] && . /etc/sysconf
# linksys bug; remove when not using static configuration for lan
-NVRAM_lan_proto="static"
+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)\"
+ eval ${type}_ifname$s=\"$(nvram get ${type}_ifname$s|sed s/$1/$2/g)\"
done
done
}
@@ -23,8 +23,8 @@ remap () {
[ "$(nvram get boardnum)" = "42" \
-a "$(nvram get boardtype)" = "bcm94710dev" ] && {
debug "### wrt54g 1.x hack ###"
- NVRAM_vlan1hwname="et0"
- NVRAM_vlan2hwname="et0"
+ vlan1hwname="et0"
+ vlan2hwname="et0"
FAILSAFE_ifnames="vlan1 vlan2 eth2"
remap eth0 vlan2
remap eth1 vlan1
@@ -34,8 +34,8 @@ remap () {
[ "$(nvram get boardtype)" = "bcm95365r" \
-a "$(nvram get boardnum)" = "45" ] && {
debug "### wl-500g deluxe hacks ###"
- NVRAM_vlan0hwname="et0"
- NVRAM_vlan1hwname="et0"
+ vlan0hwname="et0"
+ vlan1hwname="et0"
FAILSAFE_ifnames="vlan0 eth1"
remap eth0.1 vlan0
remap eth0 vlan1
@@ -44,15 +44,15 @@ remap () {
# hacks for asus wl-300g
[ "$(nvram get productid)" = "WL300g" ] && {
debug "### wl-300g hacks ###"
- NVRAM_lan_ifnames="eth0 eth2"
- NVRAM_wan_ifname="none"
+ lan_ifnames="eth0 eth2"
+ wan_ifname="none"
}
# hacks for wap54g hardware
[ "$(nvram get boardnum)" = "2" \
-o "$(nvram get boardnum)" = "1024" ] && {
debug "### wap54g hack ###"
- NVRAM_wan_ifname="none"
+ wan_ifname="none"
FAILSAFE_ifnames="eth0 eth1"
}
@@ -61,8 +61,8 @@ remap () {
-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"
+ wan_ifname="none"
+ lan_ifnames="vlan0"
}
# hack for asus wl-500g hardware
@@ -73,24 +73,28 @@ remap () {
# 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"}
+ lan_ifname="br0"
+ 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"
+ wan_ifname="vlan1"
+ wan_proto="dhcp"
}
+DEFAULT_lan_ipaddr=${BR2_SYSCONF_FAILSAFE_IP:-"192.168.1.1"}
+DEFAULT_lan_netmask=${BR2_SYSCONF_FAILSAFE_NETMASK:-"255.255.255.0"}
+DEFAULT_lan_hwaddr=${BR2_SYSCONF_FAILSAFE_MAC:-"00:0B:AD:0A:DD:00"}
+
# 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"
+ lan_ifname="br0"
+ lan_ifnames=${FAILSAFE_ifnames:-"vlan0 vlan1 eth1 eth2 eth3"}
+ lan_ipaddr=$DEFAULT_lan_ipaddr
+ lan_netmask=$DEFAULT_lan_netmask
+ lan_hwaddr=$DEFAULT_lan_hwaddr
+ wan_ifname="none"
+ wifi_ifname="none"
}
diff --git a/target/linux/package/openwrt/ipkg/base-files-arch.control b/target/linux/package/openwrt/ipkg/base-files-arch.control
new file mode 100644
index 000000000..5396f6817
--- /dev/null
+++ b/target/linux/package/openwrt/ipkg/base-files-arch.control
@@ -0,0 +1,6 @@
+Package: base-files-arch
+Priority: optional
+Section: sys
+Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
+Source: buildroot internal
+Description: Board/architecture specific files
diff --git a/target/linux/package/openwrt/ipkg/openwrt-utils.control b/target/linux/package/openwrt/ipkg/openwrt-utils.control
deleted file mode 100644
index 37ef63276..000000000
--- a/target/linux/package/openwrt/ipkg/openwrt-utils.control
+++ /dev/null
@@ -1,9 +0,0 @@
-Package: openwrt-utils
-Priority: optional
-Section: sys
-Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
-Source: buildroot internal
-Description: Basic OpenWrt utilities
- This package contains:
- mtd: Tool for modifying the flash chip
- jffs2root: Expands the jffs2 root partition