linux中修改uboot环境变量并保存

  • Post author:
  • Post category:linux


今天用正点原子阿尔法开发板,由于手欠,把bootdelay设置为0,导致启动后uboot直接跳转到linux,没法使用uboot了。

一般做法是重新烧录uboot程序,然后才能用。

我百度到了fw_printenv工具,可以在linux中查看,并修改保存uboot 的环境变量。

需要如下几步操作:



1、修改fw_printenv的Makefile



2、修改fw_env.config文件



3、linux中修改uboot环境变量

具体操作如下:



交叉编译fw_printenv

需要修改uboot目录中tools/env/ 下的Makefile,指定目标target以及交叉工具链,如下图:

在这里插入图片描述

然后回到uboot目录,执行”make env“

如下图:

在这里插入图片描述

将fw_printenv复制到开发板的任意目录,

我个人复制到了/home/root 下。



修改fw_env.config文件

查看fw_env.config文件的内容,可以配置MTD, Nand, block device等存储器类型。我使用的是emmc的核心板,所以只需要修改block device即可。

参数含义如下:

其中device name, Device offset,Env size应该分别对应于uboot源码目录中include/configs/mx6ullevk.h文件中的

#define CONFIG_ENV_OFFSET (12 * SZ_64K)

#define CONFIG_ENV_SIZE SZ_8K

在这里插入图片描述

所以fw_env.config修改后如下,然后复制到开发板的/etc 目录下

在这里插入图片描述



linux中修改uboot环境变量

首先将fw_printenv复制一份,改名叫fw_setenv,否则没法设置uboot环境变量

cp fw_printenv fw_setenv

在这里插入图片描述

然后修改bootdelay ,一定要查看下是否修改成功,否则可能不会被保存到mmc上。

./fw_setenv bootdelay 5
./fw_printenv bootdelay

在这里插入图片描述



版权声明:本文为qq_41852100原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。