From 8687fc3e4115114ebe0819f46d965b2664e2413a Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Sat, 12 Nov 2011 10:54:04 +0000
Subject: [PATCH] ar71xx: generate ubootenv from uci-defaults instead of
 providing defconfig

I noticed most of /etc/defconfig was replaced by /etc/uci-defaults, which is
indeed much nicer. So I moved over ubootenv from having a defconfig-entry to
also be generated from uci-defaults.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 28971
---
 .../etc/defconfig/all0258n/ubootenv           |  5 ---
 .../base-files/etc/uci-defaults/ubootenv      | 37 +++++++++++++++++++
 2 files changed, 37 insertions(+), 5 deletions(-)
 delete mode 100644 target/linux/ar71xx/base-files/etc/defconfig/all0258n/ubootenv
 create mode 100755 target/linux/ar71xx/base-files/etc/uci-defaults/ubootenv

diff --git a/target/linux/ar71xx/base-files/etc/defconfig/all0258n/ubootenv b/target/linux/ar71xx/base-files/etc/defconfig/all0258n/ubootenv
deleted file mode 100644
index 31af7266e4..0000000000
--- a/target/linux/ar71xx/base-files/etc/defconfig/all0258n/ubootenv
+++ /dev/null
@@ -1,5 +0,0 @@
-config ubootenv
-	option dev	/dev/mtd1
-	option offset	0x0
-	option envsize	0x10000
-	option secsize	0x10000
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/ubootenv b/target/linux/ar71xx/base-files/etc/uci-defaults/ubootenv
new file mode 100755
index 0000000000..687f3408d8
--- /dev/null
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/ubootenv
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# Copyright (C) 2011 OpenWrt.org
+#
+
+add_ubootenv() {
+	local dev=$1
+	local offset=$2
+	local envsize=$3
+	local secsize=$4
+	local numsec=$5
+	uci batch <<EOF
+add ubootenv ubootenv
+set ubootenv.@ubootenv[-1].dev='$dev'
+set ubootenv.@ubootenv[-1].offset='$offset'
+set ubootenv.@ubootenv[-1].envsize='$envsize'
+set ubootenv.@ubootenv[-1].secsize='$secsize'
+set ubootenv.@ubootenv[-1].numsec='$numsec'
+EOF
+}
+
+[ -e /etc/config/ubootenv ] && exit 0
+
+touch /etc/config/ubootenv
+
+. /lib/ar71xx.sh
+
+board=$(ar71xx_board_name)
+
+case "$board" in
+all0258n)
+	add_ubootenv /dev/mtd1 0x0 0x10000 0x10000
+	;;
+
+esac
+
+uci commit ubootenv
-- 
GitLab