summaryrefslogtreecommitdiffstats
path: root/target/linux/orion/generic/base-files
diff options
context:
space:
mode:
authoracoul <acoul@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-11-04 22:10:11 +0000
committeracoul <acoul@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-11-04 22:10:11 +0000
commit2923cd71cd14506050c171cdac678c4b5ef56cbf (patch)
treee2715128cb9e5a901c88775cf3fe371fbc0f8607 /target/linux/orion/generic/base-files
parent21acc97c7e5defbf6634c2ea963749d467649583 (diff)
target/linux/orion: create subtargets (closes #8154)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23883 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/orion/generic/base-files')
-rw-r--r--target/linux/orion/generic/base-files/etc/uci-defaults/hardware54
-rw-r--r--target/linux/orion/generic/base-files/lib/upgrade/platform.sh31
2 files changed, 85 insertions, 0 deletions
diff --git a/target/linux/orion/generic/base-files/etc/uci-defaults/hardware b/target/linux/orion/generic/base-files/etc/uci-defaults/hardware
new file mode 100644
index 000000000..7f727eb59
--- /dev/null
+++ b/target/linux/orion/generic/base-files/etc/uci-defaults/hardware
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# Copyright (C) 2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+#
+# This script sets system defaults for the hardware on firstboot
+#
+
+local hardware=`sed -n /Hardware/s/.*:.//p /proc/cpuinfo`
+
+wrt350nv2_default() {
+# leds
+ uci batch <<__EOF
+set system.power_led=led
+set system.power_led.name='Power LED (green)'
+set system.power_led.sysfs='wrt350nv2:green:power'
+set system.power_led.default='1'
+set system.wifi_led=led
+set system.wifi_led.name='Wireless LED (green)'
+set system.wifi_led.sysfs='wrt350nv2:green:wireless'
+set system.wifi_led.trigger='netdev'
+set system.wifi_led.dev='wlan0'
+set system.wifi_led.mode='link tx rx'
+set system.wifi_led.default='0'
+commit system
+__EOF
+
+# add mac address from U-Boot partition to lan and wan devices
+ MTD=`grep -e 'u-boot' /proc/mtd`
+ MTD=`echo ${MTD} | sed 's/[a-z]*\([0-9]*\):.*/\1/'`
+ [ -n "${MTD}" ] && {
+ MACADDR=`dd if=/dev/mtdblock${MTD} bs=1 skip=262048 count=6 2>/dev/null | hexdump -e '1/1 "%02x"'`
+ MACADDR2=$(( 0x${MACADDR} + 1))
+ MACADDR2=`printf "%012x" ${MACADDR2}`
+
+ MACADDR=`echo ${MACADDR} | sed 's/\(..\)/\1:/g' | sed 's/:$//'`
+ MACADDR2=`echo ${MACADDR2} | sed 's/\(..\)/\1:/g' | sed 's/:$//'`
+
+ uci set network.eth0.macaddr=${MACADDR}
+ uci set network.lan.macaddr=${MACADDR}
+ uci set network.wan.macaddr=${MACADDR2}
+ uci commit network
+ }
+}
+
+case "${hardware}" in
+ 'Linksys WRT350N v2')
+ wrt350nv2_default
+ ;;
+esac
diff --git a/target/linux/orion/generic/base-files/lib/upgrade/platform.sh b/target/linux/orion/generic/base-files/lib/upgrade/platform.sh
new file mode 100644
index 000000000..fdd26c517
--- /dev/null
+++ b/target/linux/orion/generic/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,31 @@
+# use default "image" for PART_NAME
+# use default for platform_do_upgrade()
+
+platform_check_image() {
+ [ "${ARGC}" -gt 1 ] && { echo 'Too many arguments. Only flash file expected.'; return 1; }
+
+ local hardware=`sed -n /Hardware/s/.*:.//p /proc/cpuinfo`
+ local magic="$(get_magic_word "$1")"
+
+ case "${hardware}" in
+ # hardware with padded uImage + padded rootfs
+ 'Linksys WRT350N v2')
+ [ "${magic}" != '2705' ] && {
+ echo "Invalid image type ${magic}."
+ return 1
+ }
+ return 0
+ ;;
+ # Netgear WNR854T has extra header before uImage
+ 'Netgear WNR854T')
+ [ "${magic}" != '8519' ] && {
+ echo "Invalid image type ${magic}."
+ return 1
+ }
+ return 0
+ ;;
+ esac
+
+ echo "Sysupgrade is not yet supported on ${hardware}."
+ return 1
+}