octeon: add basic board detection
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 41274
This commit is contained in:
parent
f98b58fcec
commit
e6e024f155
4 changed files with 76 additions and 18 deletions
3
target/linux/octeon/base-files.mk
Normal file
3
target/linux/octeon/base-files.mk
Normal file
|
@ -0,0 +1,3 @@
|
|||
define Package/base-files/install-target
|
||||
rm -f $(1)/etc/config/network
|
||||
endef
|
|
@ -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
|
31
target/linux/octeon/base-files/etc/uci-defaults/01_network
Normal file
31
target/linux/octeon/base-files/etc/uci-defaults/01_network
Normal 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
|
42
target/linux/octeon/base-files/lib/functions/octeon.sh
Executable file
42
target/linux/octeon/base-files/lib/functions/octeon.sh
Executable 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"
|
||||
}
|
Loading…
Reference in a new issue