kirkwood: use uci-defaults to configure different boards
Signed-off-by: Luka Perkov <openwrt@lukaperkov.net> SVN-Revision: 31990
This commit is contained in:
parent
c71838faa1
commit
ba3ad24514
@ -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'
|
@ -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'
|
3
target/linux/kirkwood/base-files.mk
Normal file
3
target/linux/kirkwood/base-files.mk
Normal file
@ -0,0 +1,3 @@
|
||||
define Package/base-files/install-target
|
||||
rm -f $(1)/etc/config/network
|
||||
endef
|
57
target/linux/kirkwood/base-files/etc/uci-defaults/leds
Normal file
57
target/linux/kirkwood/base-files/etc/uci-defaults/leds
Normal 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
|
42
target/linux/kirkwood/base-files/etc/uci-defaults/network
Normal file
42
target/linux/kirkwood/base-files/etc/uci-defaults/network
Normal 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
|
5
target/linux/kirkwood/base-files/lib/kirkwood.sh
Normal file
5
target/linux/kirkwood/base-files/lib/kirkwood.sh
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
kirkwood_hardware_name() {
|
||||
grep ^Hardware /proc/cpuinfo | sed "s/Hardware.*: \(.*\)/\1/g"
|
||||
}
|
Loading…
Reference in New Issue
Block a user