设置启动参数重启板子参数未变化

通过setenv saveenv设置启动参数 通过printenv查看参数已修改,但重新启动后进入命令行输入printenv 参数未发生改变,这种方法不能实质性改写已存储的参数么?另外通过make uboot-deb,更新系统也同样未能修改参数,请教会是什么情况,谢谢

@zzpfox 你是用的什么固件呢,如果是Ubuntu的固件,我们在启动时会加载一个文件,你修改的环境变量可能也在这个文件里,

是Ubuntu的固件,麻烦告知是哪个文件?是不是直接修改该文件即可解决?通过uboot启动时的命令修改是肯定不行么?

@zzpfox 可以,使用我们的fenix仓库编译固件,文件位置

$ path/to/fenix/config/bootscripts/aml_boot.ini

这个文件我也看过,这个和uboot下printenv打印出来的参数不一样吧?

@zzpfox 你用的是4.9的内核把.驱动参数就是通过文件设置的.你需要设置哪一个参数.不是所有参数都这里设置

设置cvbs_drv,这个好像不在里面,我之前在vim3. h里找到了,但重新编译成deb更新没改过来

你是怎么设置的?在哪里设置的?你需要看下代码,这些变量是怎么生成的,有些是动态生成的。

我用两种方法,一种是板子启动进入命令行用setenv saveenv设置,另一种在vim3.h里直接改,然后重新编译deb后更新,但两种改好后启动后还是原来的参数,aml_boot. ini这个里面参数不全吧,我那个参数如何改,请赐教,折腾一天了

怎么没有生效,是saveenv后重启进uboot,pri看不到?

修改saveenv后重启进入uboot,printenv后还是原来的参数值,没有变化,所以说未生效

你用的什么固件?4.9的还是mainline的?eMMC的还是SD-USB的?我们这边也验证下看看。

4.9 emmc Ubuntu Server

你们有测试不,情况如何,麻烦指导一下,谢谢

你要改cvbs_drv是吗?有些环境变量并不是你通过简单的setenv修改就能生效的,比如cvbs_drv这个在代码里面也会动态修改的,所以你的修改有可能会在代码中被动态覆盖掉了,具体的你还是要自己看下代码,搜一下cvbs_drv是如何修改的。

动态修改是什么意思呢,是有个地方存着参数,但是不能通过saveenv保存么?那么存这个参数的地方在哪个位置呢?还有其他一些参数比如wol_enable我也试了用saveenv也是不行。你说的代码里cvbs_drv我都找过了,vim3. h里的应该是唯一合适的,但修改了后重新编译uboot.deb更新系统也还是不行。所以比较奇怪,你们对于4.9 emmc Ubuntu下的环境修改试过么?确定不是bug?

说了你要跟一下代码!你要搞清楚这个环境变量是干嘛的,是怎么生成的。

cvbs_drv会在./drivers/display/vout/cvbs.c +797这里设置的。
wol_enable也是会动态修改的,./common/cmd_kbi.c +174

你手动改了,重启后uboot又会动态修改的,就是说你改的方式不对!不能简单的setenv,你要搞清楚整个调用流程。

setenvsaveenv肯定是没问题的,不信你换个别的自定义的变量,如:

kvim3#setenv test1 111
kvim3#saveenv 

然后重启,打印出来看看有没有?

kvim3#pri test1 
test1=111

好的,大概明白这个意思了,我再试试,感谢