diff options
-rw-r--r-- | target/linux/octeon/base-files.mk | 3 | ||||
-rw-r--r-- | target/linux/octeon/base-files/etc/config/network | 18 | ||||
-rw-r--r-- | target/linux/octeon/base-files/etc/uci-defaults/01_network | 31 | ||||
-rwxr-xr-x | target/linux/octeon/base-files/lib/functions/octeon.sh | 42 |
4 files changed, 76 insertions, 18 deletions
diff --git a/target/linux/octeon/base-files.mk b/target/linux/octeon/base-files.mk new file mode 100644 index 0000000000..fdd2c714b2 --- /dev/null +++ b/target/linux/octeon/base-files.mk @@ -0,0 +1,3 @@ +define Package/base-files/install-target + rm -f $(1)/etc/config/network +endef diff --git a/target/linux/octeon/base-files/etc/config/network b/target/linux/octeon/base-files/etc/config/network deleted file mode 100644 index 44c57940e2..0000000000 --- a/target/linux/octeon/base-files/etc/config/network +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (C) 2009 OpenWrt.org - -config interface loopback - option ifname lo - option proto static - option ipaddr 127.0.0.1 - option netmask 255.0.0.0 - -config interface lan - option ifname eth1 - option type bridge - option proto static - option ipaddr 192.168.1.1 - option netmask 255.255.255.0 - -config interface wan - option ifname eth0 - option proto dhcp diff --git a/target/linux/octeon/base-files/etc/uci-defaults/01_network b/target/linux/octeon/base-files/etc/uci-defaults/01_network new file mode 100644 index 0000000000..bda8d0c75c --- /dev/null +++ b/target/linux/octeon/base-files/etc/uci-defaults/01_network @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2014 OpenWrt.org +# + +[ -e /etc/config/network ] && exit 0 + +. /lib/functions/uci-defaults.sh +. /lib/functions/octeon.sh + +touch /etc/config/network + +board=$(octeon_board_name) + +case "$board" in +erlite) + ucidef_set_interface_loopback + ucidef_set_interface_lan 'eth0' + ucidef_set_interface_wan 'eth1' + ;; + +*) + ucidef_set_interface_loopback + ucidef_set_interface_wan 'eth1' + ucidef_set_interface_lan 'eth0' + ;; +esac + +uci commit network + +exit 0 diff --git a/target/linux/octeon/base-files/lib/functions/octeon.sh b/target/linux/octeon/base-files/lib/functions/octeon.sh new file mode 100755 index 0000000000..8871ed7117 --- /dev/null +++ b/target/linux/octeon/base-files/lib/functions/octeon.sh @@ -0,0 +1,42 @@ +#!/bin/sh +# +# Copyright (C) 2010-2013 OpenWrt.org +# + +OCTEON_BOARD_NAME= +OCTEON_MODEL= + +octeon_board_detect() { + local machine + local name + + machine=$(grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g") + + case "$machine" in + "UBNT_E100"*) + name="erlite" + ;; + + *) + name="generic" + ;; + esac + + [ -z "$OCTEON_BOARD_NAME" ] && OCTEON_BOARD_NAME="$name" + [ -z "$OCTEON_MODEL" ] && OCTEON_MODEL="$machine" + + [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" + + echo "$OCTEON_BOARD_NAME" > /tmp/sysinfo/board_name + echo "$OCTEON_MODEL" > /tmp/sysinfo/model +} + +octeon_board_name() { + local name + + [ -f /tmp/sysinfo/board_name ] || octeon_board_detect + [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) + [ -z "$name" ] && name="unknown" + + echo "$name" +} |