我想用板子启动发行版,其中程序包管理器控制extlinux.conf并为板子分发dtb文件,但是我也有扩展板,因此我需要一个覆盖层来启用某些功能。
以前,我只是编写一个应用覆盖的boot.scr文件,然后引导内核。但是内核和initramfs的文件名在版本之间会发生变化,因此管理boot.scr将会很繁琐。
幸运的是,它还带有指向新版本的extlinux.conf,但我很难找到一种以这种方式应用fdt覆盖的方法。
那有可能吗?
答案 0 :(得分:1)
U-Boot读取的extlinux.conf文件中使用的Syslinux语法不包含应用fdt覆盖的关键字,因此您在这里很不走运。
可以使用localboot
关键字使U-Boot执行自定义命令,而不是加载用kernel
关键字指定的内核映像。如果标签包含localboot
关键字,后跟非负数,例如:
label mycustomboot
localboot 0
U-Boot在引导条目时执行localcmd
环境变量中包含的命令。因此,从理论上讲,您可以将localcmd
环境变量放入启动时需要执行的一系列命令(加载内核,fdt和覆盖图,应用覆盖图并启动内核)。但是我想这首先会破坏使用extlinux.conf的目的,并且与您使用boot.scr文件做事的方式没有什么不同...