kirkwood: use uci-defaults to configure different boards

Signed-off-by: Luka Perkov <openwrt@lukaperkov.net>

SVN-Revision: 31990
This commit is contained in:
Gabor Juhos 2012-05-29 16:39:15 +00:00
parent c71838faa1
commit ba3ad24514
6 changed files with 107 additions and 30 deletions

View file

@ -1,9 +0,0 @@
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' 'eth0'
option 'proto' 'dhcp'

View file

@ -1,21 +0,0 @@
# system file for Dockstar
config system
option 'hostname' 'OpenWrt'
option 'timezone' 'UTC'
config timeserver ntp
list server 0.openwrt.pool.ntp.org
list server 1.openwrt.pool.ntp.org
list server 2.openwrt.pool.ntp.org
list server 3.openwrt.pool.ntp.org
config led
option 'sysfs' 'dockstar:green:health'
option 'trigger' 'none'
option 'default' '1'
config led
option 'sysfs' 'dockstar:orange:misc'
option 'trigger' 'netdev'
option 'mode' 'tx rx'
option 'dev' 'eth0'

View file

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

View file

@ -0,0 +1,57 @@
#!/bin/sh
#
# Copyright (C) 2012 OpenWrt.org
#
COMMIT_SYSTEM=0
set_led_netdev() {
local cfg="led_$1"
local sysfs=$2
local dev=$3
uci -q get system.$cfg && return 0
uci batch <<EOF
set system.$cfg='led'
set system.$cfg.sysfs='$sysfs'
set system.$cfg.trigger='netdev'
set system.$cfg.dev='$dev'
set system.$cfg.mode='link tx rx'
EOF
COMMIT_SYSTEM=1
}
set_led_default() {
local cfg="led_$1"
local sysfs=$2
local default=$3
uci -q get system.$cfg && return 0
uci batch <<EOF
set system.$cfg='led'
set system.$cfg.sysfs='$sysfs'
set system.$cfg.trigger='none'
set system.$cfg.default='$default'
EOF
COMMIT_SYSTEM=1
}
. /lib/kirkwood.sh
hardware=$(kirkwood_hardware_name)
case "$hardware" in
"Seagate FreeAgent DockStar")
set_led_netdev "eth0" "dockstar:orange:misc" "eth0"
set_led_default "health" "dockstar:green:health" "1"
;;
*)
;;
esac
[ "$COMMIT_SYSTEM" == "1" ] && uci commit system
exit 0

View file

@ -0,0 +1,42 @@
#!/bin/sh
#
# Copyright (C) 2012 OpenWrt.org
#
[ -e /etc/config/network ] && exit 0
set_lan_dhcp() {
local ifname=$1
uci batch <<EOF
set network.lan='interface'
set network.lan.ifname='$ifname'
set network.lan.proto='dhcp'
EOF
}
. /lib/functions/uci-defaults.sh
. /lib/kirkwood.sh
touch /etc/config/network
ucidef_set_interface_loopback
hardware=$(kirkwood_hardware_name)
case "$hardware" in
"Seagate FreeAgent DockStar")
set_lan_dhcp "eth0"
;;
"RaidSonic ICY BOX IB-NAS6210")
set_lan_dhcp "eth0"
;;
*)
ucidef_set_interface_lan "eth0"
;;
esac
uci commit network
exit 0

View file

@ -0,0 +1,5 @@
#!/bin/sh
kirkwood_hardware_name() {
grep ^Hardware /proc/cpuinfo | sed "s/Hardware.*: \(.*\)/\1/g"
}