使用extlinux.conf在u-boot上应用fdt覆盖

时间:2019-01-18 17:40:10

标签: arm u-boot arm64

我想用板子启动发行版,其中程序包管理器控制extlinux.conf并为板子分发dtb文件,但是我也有扩展板,因此我需要一个覆盖层来启用某些功能。

以前,我只是编写一个应用覆盖的boot.scr文件,然后引导内核。但是内核和initramfs的文件名在版本之间会发生变化,因此管理boot.scr将会很繁琐。

幸运的是,它还带有指向新版本的extlinux.conf,但我很难找到一种以这种方式应用fdt覆盖的方法。

那有可能吗?

1 个答案:

答案 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文件做事的方式没有什么不同...