OpenWrt开发(3)-- uboot-envtools的使用

uboot-envtools是用于管理U-Boot环境变量的工具,可在OpenWrt系统中编译加入。通过makemenuconfig配置,然后重新编译并烧录。配置时需编辑/etc/fw_env.config,依据mtd分区表信息填写。使用时,fw_printenv读取环境变量,fw_setenv用于设置或修改。
摘要由CSDN通过智能技术生成

uboot-envtools介绍

uboot-envtools是一个用于管理 U-Boot env 的命令行工具,可以用于读取或修改U-Boot上的环境变量和配置参数。它提供了一种方便可靠的方式来更新和管理 U-Boot 环境变量和配置参数,而不需要重启进入uboot来进行配置。

编译uboot-envtools进openwrt系统

命令行进入OpenWrt代码库的根目录,输入make menuconfig并按回车,进入OpenWrt Configuration 菜单。进入Utilities菜单,再进入Boot Loaders菜单,打开里面的uboot-envtools选项。

$ make menuconfig
  Utilities —>
    Boot Loaders —>
      uboot-envtools

在部分旧版OpenWrt代码中,uboot-envtools选项位于Utilities菜单中。

$ make menuconfig
  Utilities —>
      uboot-envtools

然后保存并退出OpenWrt Configuration,然后重新编译OpenWrt系统并烧录即可。

配置uboot-envtools配置文件,

进入openwrt系统后,通过cat /proc/mtd获取mtd分区表。
mtd分区表示例1
mtd分区表示例2

再编辑/etc/fw_env.config,参考以下模板,根据分区表信息填入内容并保存:

# MTD device name       Device offset   Env. size       Flash sector size       Num
/dev/mtd2               0x0000          0x1000          0x10000

MTD device name:对应mtd分区表中的dev序号,因为uboot-env分区在不同系统中不同,需要注意,通常为U-Boot分区的下一个分区。
Device offset:没特殊情况就填0x0000即可
Env. size:Env数据存储大小,根据U-Boot代码设置而不一样,需要进入U-Boot代码库下的:include/configs/文件夹,根据硬件型号打开对应的.h头文件,查看其中的CFG_ENV_SIZECONFIG_ENV_SIZE参数并填入。
Flash sector size:填入mtd分区中输出的uboot-env分区的erasesize参数即可。

uboot-envtools的使用

进入OpenWrt系统后,输入fw_printenv即可读取U-Boot env配置参数。
如要修改参数,输入fw_setenv命令,后跟要设置或修改的变量名和变量值,参考如下

fw_setenv bootargs_root "root=/dev/mtdblock7 rootfstype=squashfs"
fw_setenv serverip 192.168.1.1
fw_setenv baudrate 57600
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值