ubootenv工具fw_printenv及配置文件fw_env.config
原文出处:http://blog.csdn.net/qq_29729577/article/details/50580727
希望朋友们多多指点,好的技术或心得一起分享:
uboot向kernel传参机制以及kernel如何解析cmdline参数大家可以参考其他前辈的博文,这方面的讲解十分详尽。
在这里我总结以下自己在uboot自定义一个参数并从kernel中取得的方法:
一.uboot添加自定义参数number
在uboot命令行下,我通过setenv bootargs以及saveenv命令来在bootargs参数中添加自己的一个参数,例如:
=>setenv bootargs xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx number=${num}
=>setenv num 0
=>saveenv
其中bootargs前面部分省略,number为在原bootargs后添加的参数,它会去取num的值,因此以后只要修改num的值即可(这里先设置为0)
二.kernel读取uboot传入的参数number:
在想要取得uboot传入参数的文件中进行如下操作:
1.添加头文件:
#include <linux/init.h>
2.添加如下内容:
static unsigned int number;
static int __init number_setup (char *num)
{
number = *num - '0';
}
__setup("number=", number_setup);
宏__setup("number=", number_setup)会在bootargs中取得"number="后的值作为函数number_setup的参数num,因此只要在number_setup函数中用全局变量number接收该值即可(此处我将传入的值作为数字处理)。
至此,我们就能在kernel中读取到uboot传入的自定义参数值
****************************************************************************************************************
另:作为用户来说,不可能每次启动都先在uboot命令行下通过setenv,saveenv来修改传入kernel的环境变量,因此uboot提供了fw_printenv工具来让用户在文件系统下来查看和修改环境变量,具体步骤如下:
1.编译fw_printenv工具:
在uboot源码目录下,执行:
make env ARCH=xxx CROSS_COMPILE=yyy
其中xxx和yyy根据自己的交叉编译环境来配置
接着会在tools/env下生成fw_printenv的可执行文件,将其拷贝到文件系统中的/usr/bin(此路径可以自己指定)目录下,再创建fw_printenv的软链接(直接cp也可以):
ln -s /usr/bin/fw_printenv /usr/bin/fw_setenv
2.配置fw_env.config文件
根据mtd分区、UBOOT环境变量的位置、大小等内容修改uboot源码目录的tools/env下的fw_env.config文件,具体的修改方法见fw_env.config文件中的说明及/tools/env/README文件,我的修改内容如下作为参考(需根据实际情况来修改):
# MTD device name Device offset Env. size Flash sector size
/dev/mtd0 0xc0000 0x2000 0x10000
其中Device offset,Env size和Flash sector size应该分别对应于uboot源码目录中include/configs/xxxx.h相关文件中的
CONFIG_ENV_OFFSET,CONFIG_ENV_SIZE和CONFIG_ENV_SECT_SIZE三个宏定义
修改完成后,将fw_env.config文件拷贝到文件系统的/etc目录下。
3.fw_printenv的使用
在文件系统中输入fw_printenv命令来查看环境变量,输入fw_setenv xxx yyy 来修改环境变量(xxx为变量名,yyy为变零值),方法类似setenv,修改后会自动保存,详细用法通过fw_printenv --help命令来查看
ubootenv工具fw_printenv及配置文件fw_env.config相关推荐
- 认识ASP.NET配置文件Web.config
认识ASP.NET配置文件Web.config Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序 ...
- 【用户画像】标签任务开发流程(源码之实体类、工具类、配置文件、DAO层)
文章目录 一 代码实现 0 开发主线 1 实体类 (1)TagInfo (2)TaskInfo (3)TaskTagRule 2 工具类 (1)连接sql的工具类 测试 (2)专门读取properti ...
- 类项目中的配置文件app.config在打包安装后的信息获取的问题
在一个项目中碰到这样的一个问题,做一个WORD插件,功能在类库项目中实现了,配置信息存在类库项目的配置文件app.config中,在进行打包后,获取的配置文件中的DocType节点信息时,使用以下方法 ...
- winform程序读取和改写配置文件App.config元素的值
在开发Web项目的时候,会有一个配置文件Web.config,用来存放一些全局的变量,如连接数据库用的字符串.相应的,在开发winform程序时,也有一个配置文件,它就是App.config,这个文件 ...
- C#中怎样获取默认配置文件App.config中配置的键值对内容
场景 在新建一个程序后,项目中会有一个默认配置文件App.config 一般会将一些配置文件信息,比如连接数据库的字符串等信息存在此配置文件中. 怎样在代码中获取自己配置的键值对信息. 注: 博客主页 ...
- 采用ASP.NET IIS 注册工具 (Aspnet_regiis.exe)对web.config实行本地加密
加密原因:我们通常将一些重要的配置信息写在Web.config里面,其中数据库链接就是这样的信息.将这些数据直接明文显示,显然不太安全. 工具: 采用ASP.NET IIS 注册工具 (Aspnet_ ...
- webpack 3 零基础入门教程 #4 - webpack 的配置文件 webpack.config.js
在命令行中运行 webpack 命令确实可以实现 webpack 的功能,但是我们一般不这么做,我们要用配置文件来处理. 我们把之前学到的知识用 webpack 的配置文件来实现,配置文件的名字叫 w ...
- c# 配置文件App.config操作类库
public class ConfigOperator{#region 从配置文件获取Value/// <summary>/// 从配置文件获取Value/// </summary& ...
- DotText源码学习——从配置文件Web.config入手(一)
2010-03-19 17:18 by 吴秦, 2409 阅读, 12 评论, 收藏, 编辑 概述 ASP.NET配置数据存储在名为Machine.config/Web.config的XML文本文件中 ...
最新文章
- SAGEMAKER上部署需要引入sagemakder的API from sagemaker.pytorch import PyTorchModel
- python数据挖掘Hello World
- ML之SVM:利用SVM算法(超参数组合进行单线程网格搜索+3fCrVa)对20类新闻文本数据集进行分类预测、评估
- boost::mpl::advance相关用法的测试程序
- C语言中声明和定义的区别
- USACO Training Section 1.3混合牛奶 Mixing Milk
- C语言#include还有些你不知道的事
- JAVA可以用来开放游戏吗?
- python下载哪个版本好-python下载哪个版本好
- inline-block导致的错位问题详解
- 车牌号识别系统(carOR)
- JavaWeb(HTML +css+js+Servlet....)
- C++通信录管理系统
- Unity学习笔记------用Unity2D制作打地鼠游戏
- 35岁仍然落魄,有这3个苗头将大器晚成,你要刮目相看,主动结交
- 操作系统——处理系统的分类
- can总线短距离不用双绞线_CAN 总线(一) 物理层—屏蔽双绞线
- 熊掌号PHP,百度熊掌号广受站长关注,phpcm网站程序的熊掌号页面改造插件也火了!...
- python 朴素贝叶斯算法
- 航模基础知识之电机,电调,电池的选择
热门文章
- ti linux sdk 使用方法,关于AM335x 最新SDK ti-processor-sdk-linux-am335x-evm-06.03.00.106使用中遇到的问题...
- Quarkus 1.3.0.Final修复了Kubernetes本机Java堆栈中的错误
- BAT脚本,批量替换文件名的指定字符
- 无法删除文件夹的解决办法
- 酷派5860s 游戏合集贴
- MySQL(入门篇18)SQLyog 的用户权限管理 ; SQL语句的用户权限管理。
- 效果最好的助眠好物,帮助睡眠的好方法
- android对文件的MD5验证
- SourceInsight绿色版下载使用
- 《文化相对论》:危机重重的世界,对话才能产生转机