-
-
- Posts: 5
- Joined: 2025-06-01 23:52
Hello, Luckfox 团队:
我在uboot中修改了环境变量bootdelay,之后saveenv,但是重启(reset 或 reboot)后修改的bootdelay未生效
以下是大致的操作过程:
Code: Select all
=> printenv bootdelay
bootdelay=0
=> setenv bootdelay 5
=> saveenv
Saving Environment to envf...
=> printenv bootdelay
bootdelay=5
...
Hit key to stop autoboot('CTRL+C'): 0
- 板子型号:Luckfox Pico Ultra W
- 镜像类型:Luckfox_Pico_Ultra_W_EMMC_0429
辛苦帮忙分析一下原因,完整的日志见附件
-
- Posts: 1492
- Joined: 2024-01-23 7:21
您好,bootdelay 是由u-boot的defconfig 通过 CONFIG_BOOTDELAY 设置的,作为环境变量是只读的,修改之后重启原本的程序会根据 CONFIG_BOOTDELAY 的数值重新设置,通过 setenv 设置的数值被重新覆盖
-
- Posts: 5
- Joined: 2025-06-01 23:52
感谢回复!
我尝试在uboot命令行中手动新增环境变量,保存后重启也会不生效:
Code: Select all
=> printenv myvar
## Error: "myvar" not defined
=> setenv myvar 123
=> sa
Saving Environment to envf...
=> printenv myvar
myvar=123
=> reset
...
=> printenv myvar
## Error: "myvar" not defined
请问在哪里能看到 “bootdelay” 以及其他环境变量是只读还是可读写的,怎么将其修改为可读写?
-
- Posts: 1492
- Joined: 2024-01-23 7:21
主要通过在源码上搜索相关关键字,看变量是怎么赋值怎么被调用的,我测试过且能确定的可以修改的变量只有sys_bootargs(可以用来修改CMA大小),改成可读写的可能需要修改相关源码