1. 概述
在uboot中我们可以很方便的在uboot shell中通过printenv/setenv/savenv来查看/设置/保存env环境变量或者在uboot源码中通过env_get/env_set/env_save 来获取/设置/保存env环境变量。有时候我们希望在进入linux系统后去查看或者修改env环境变量,那么在Linux系统下是否有工具去做这样的事情吗或者Linux kernel是否提供什么方式可以做这样的事情呢。幸运的是uboot仓库下提供了fw_printenv工具可以做上面提到的查看/修改/设置保存env环境的事情。
2. fw_printenv源码
fw_printenv源码位于uboot仓库,uboot源码可以从github中获取GitHub - u-boot/u-boot: "Das U-Boot" Source Tree 。
fw_printenv在uboot中的路径:uboot/tools/env
3. fw_printenv编译
arm:
1. make A10-OLinuXino-Lime_defconfig
2.
a. dynamically linked:
make CROSS_COMPILE=arm-linux-gnueabihf- envtools
b. statically linked
make CROSS_COMPILE=arm-linux-gnueabihf- CC="arm-linux-gnueabihf-gcc -static" envtools
arm64:
1. make A10-OLinuXino-Lime_defconfig
2.
a. dynamically linked:
make CROSS_COMPILE=aarch64-linux-gnu- envtools
b. statically linked
&n