mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 14:04:26 -04:00 
			
		
		
		
	Most (all?) of the realtek devices have two u-boot config partitions with a different set of variables in each. The U-Boot shell provides two sets of apps to manipulate these: printenv- print environment variables printsys- printsys - print system information variables saveenv - save environment variables to persistent storage savesys - savesys - save system information variables to persistent storage setenv - set environment variables setsys - setsys - set system information variables Add support for multiple ubootenv configuration types, allowing more than one configuration file. Section names are not suitable for naming the different configurations since each file can be the result of multiple sections in case of backup partitions. Signed-off-by: Bjørn Mork <bjorn@mork.no>
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh
 | |
| #
 | |
| # Copyright (C) 2011-2012 OpenWrt.org
 | |
| #
 | |
| 
 | |
| _ubootenv_add_uci_config() {
 | |
| 	local cfgtype=$1
 | |
| 	local dev=$2
 | |
| 	local offset=$3
 | |
| 	local envsize=$4
 | |
| 	local secsize=$5
 | |
| 	local numsec=$6
 | |
| 	uci batch <<EOF
 | |
| add ubootenv $cfgtype
 | |
| set ubootenv.@$cfgtype[-1].dev='$dev'
 | |
| set ubootenv.@$cfgtype[-1].offset='$offset'
 | |
| set ubootenv.@$cfgtype[-1].envsize='$envsize'
 | |
| set ubootenv.@$cfgtype[-1].secsize='$secsize'
 | |
| set ubootenv.@$cfgtype[-1].numsec='$numsec'
 | |
| EOF
 | |
| 	uci commit ubootenv
 | |
| }
 | |
| 
 | |
| ubootenv_add_uci_config() {
 | |
| 	_ubootenv_add_uci_config "ubootenv" "$@"
 | |
| }
 | |
| 
 | |
| ubootenv_add_uci_sys_config() {
 | |
| 	_ubootenv_add_uci_config "ubootsys" "$@"
 | |
| }
 | |
| 
 | |
| ubootenv_add_app_config() {
 | |
| 	local cfgtype
 | |
| 	local dev
 | |
| 	local offset
 | |
| 	local envsize
 | |
| 	local secsize
 | |
| 	local numsec
 | |
| 	config_get cfgtype "$1" TYPE
 | |
| 	config_get dev "$1" dev
 | |
| 	config_get offset "$1" offset
 | |
| 	config_get envsize "$1" envsize
 | |
| 	config_get secsize "$1" secsize
 | |
| 	config_get numsec "$1" numsec
 | |
| 	grep -q "^[[:space:]]*${dev}[[:space:]]*${offset}" "/etc/fw_${cfgtype#uboot}.config" || echo "$dev $offset $envsize $secsize $numsec" >>"/etc/fw_${cfgtype#uboot}.config"
 | |
| }
 |