|
在Linux里读取UBOOT环境变量 2012-12-14 17:06:21| 分类: 默认分类 | 标签:linux uboot 环境变量 |字号 [url=]订阅[/url]
可以通过mtd方式读取,也可以用ioremap方式。不过这些都比较麻烦,简单的方法有两种,一种是mtd_debug,另一种是fw_printenv。前者是一个软件包,需要单独下载安装。后一个就是我目前使用的方式,是Uboot带的一个工具,使用方法如下:
1、编译fw_printenv工具
在你uboot目录下用以下编译指令:
make env
成功后在tools/env下会生成fw_printenv,如果提示缺少mtd-user.h文件,从系统中拷贝过来即可:
cp /usr/include/mtd/ ./include/mtd -a
2、修改配置文件
根据mtd分区、UBOOT环境变量的位置、大小等内容修改tools/env下的fw_env.config文件,可参见/tools/env/README文件。
这 个工具还需要一个配置文件,以获取uboot的ENV区域的位置信息。默认状态下,请将fw_env.config文件拷贝到目标机的文件系统的/etc 目录下。然后结合uboot配置中定义的ENV区和Linux下mtd分区的情况修改配置文件。具体的修改方法见fw_env.config文件中的说明 及/tools/env/README文件。
3、使用fw_printenv工具
将编译好的fw_printenv拷贝到目标机的文件系统中,并将fw_env.config文件拷贝到目标机的文件系统的/etc 目录下。执行fw_printenv即可打印Uboot环境变量信息,如果没打印出来或者打印乱码,请检查配置文件是否正确
|
|