From 5d1ac2fb37f87af1ab646877d193ea563ced036a Mon Sep 17 00:00:00 2001 From: "Alexandros C. Couloumbis" Date: Thu, 4 Nov 2010 22:10:11 +0000 Subject: target/linux/orion: create subtargets (closes #8154) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23883 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../generic/base-files/etc/uci-defaults/hardware | 54 ++++++++++++++++++++++ .../generic/base-files/lib/upgrade/platform.sh | 31 +++++++++++++ target/linux/orion/generic/target.mk | 14 +++++- 3 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 target/linux/orion/generic/base-files/etc/uci-defaults/hardware create mode 100644 target/linux/orion/generic/base-files/lib/upgrade/platform.sh (limited to 'target/linux/orion/generic') 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 0000000000..7f727eb595 --- /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 0000000000..fdd26c5176 --- /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 +} diff --git a/target/linux/orion/generic/target.mk b/target/linux/orion/generic/target.mk index 0bc0fc93d2..02c5a646a1 100644 --- a/target/linux/orion/generic/target.mk +++ b/target/linux/orion/generic/target.mk @@ -1,6 +1,16 @@ +# +# Copyright (C) 2008-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + BOARDNAME:=Generic +FEATURES:=squashfs jffs2 + +DEFAULT_PACKAGES += kmod-ath9k wpad-mini define Target/Description - Build firmware images for orion based boards that boot from internal flash + Build firmware images for Marvell Orion based boards that boot from internal flash. + (e.g.: Linksys WRT350N v2, Netgear WNR854T, ...) endef - -- cgit v1.2.3