diff options
author | John Crispin <john@openwrt.org> | 2014-06-19 14:13:20 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2014-06-19 14:13:20 +0000 |
commit | e6e024f155f1a9348418ae6e80f4166c4b281d10 (patch) | |
tree | 03d6c2ea92c293fd59b91ff105628c95367e5b10 /target/linux/octeon/base-files | |
parent | f98b58fcec74f7c7c87ab24a8e1d423458e405dd (diff) | |
download | upstream-e6e024f155f1a9348418ae6e80f4166c4b281d10.tar.gz upstream-e6e024f155f1a9348418ae6e80f4166c4b281d10.tar.bz2 upstream-e6e024f155f1a9348418ae6e80f4166c4b281d10.zip |
octeon: add basic board detection
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 41274
Diffstat (limited to 'target/linux/octeon/base-files')
-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 |
3 files changed, 73 insertions, 18 deletions
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" +} |