uboot启动过程中无法被打断和进入uboot命令行问题解决(基于2017.09版本uboot)
背景:rv1126开发板启动时,每次都是从磁盘挂载linux系统,在开发阶段,如果每次更改了系统配置,都要重新编译和烧录一遍才能生效,我觉得这样不太灵活。所以想开机后自动用nfs挂载我ubuntu主机上的某个目录(buildroot编译后生成的target目录)做为开发板的根目录,这样的话我在主机上编译系统后就不用每次把系统固件烧进开发板了,相当于省去了烧录的步骤。
如果要实现这个功能的话,就必需要在uboot命令行设置一些参数,比如ipaddr,serverip,bootcmd,bootargs等参数,但是我现在的板子在启动过程中无法被打断,因为bootdelay当前值为0
踩坑的尝试:
我尝试在uboot配置文件里rv1126_xxx_defconfig里把CONFIG_DOOTDELAY参数设置为了3,编译后烧录进去,但是没有生效,看到别的博客说如果bootdelay这个环境变量为0的话,那么就算你设置了CONFIG_DOOTDELAY也没用。
解决办法:直接改uboot源码中bootdelay的值
首先根据上面uboot启动时串口打印的日志,在uboot源码目录中搜索那句话,就可以定位源码文件
然后打开这个文件,找到那句打印的话
改完之后保存文件,然后重新编译uboot,重新烧录进开发板,就大功告成了,此时按下ctrl+c就可以正常进入uboot命令行了