octeon: add basic board detection

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41274
This commit is contained in:
John Crispin 2014-06-19 14:13:20 +00:00
parent f98b58fcec
commit e6e024f155
4 changed files with 76 additions and 18 deletions

View file

@ -0,0 +1,3 @@
define Package/base-files/install-target
rm -f $(1)/etc/config/network
endef

View file

@ -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

View file

@ -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

View file

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