linux下设置和修改uboot环境变量和问题解决

发布于:2024-08-12 ⋅ 阅读:(129) ⋅ 点赞:(0)

在uboot下源码编译:
make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- envtools

  CHK     include/config/uboot.release
  CHK     include/generated/version_autogenerated.h
  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
  COPY    tools/version.h
  LD      tools/env/built-in.o
  HOSTCC  tools/env/crc32.o
  HOSTCC  tools/env/ctype.o
  HOSTCC  tools/env/env_attr.o
  HOSTCC  tools/env/env_flags.o
  HOSTCC  tools/env/fw_env.o
  HOSTCC  tools/env/linux_string.o
  AR      tools/env/lib.a
  HOSTCC  tools/env/fw_env_main.o
  HOSTLD  tools/env/fw_printenv
  STRIP   tools/env/fw_printenv

使用到的文件fw_env.configfw_printenv

问题解决(1):Error opening lock file /var/lock/fw_printenv.lock

mkdir -p /var/lock/
touch /var/lock/fw_printenv.lock

问题解决(2)Warning: Bad CRC, using default environment

fw_env.config 设置 env 有问题      // mt0 一直写成mt1 
# NOR example
# MTD device name	Device offset	Env. size	Flash sector size	Number of sectors
/dev/mtd0		0x80000           0x40000     0x40000 1

grep "CONFIG_ENV_OFFSET" .config
CONFIG_ENV_OFFSET=0x80000

grep "CONFIG_ENV_SIZE" .config
CONFIG_ENV_SIZE=0x40000
grep "CONFIG_ENV_SECT_SIZE" .config
CONFIG_ENV_SECT_SIZE=0x10000

问题解决3:Error: “3” not defined fw_setenv用来设置和删除环境变量 fw_printenv用来打印环境变量

ln -s ./fw_printenv fw_setenv   

测试如下

 # ./fw_setenv bootdelay 10
 # reset 

./fw_printenv  

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到