在自定义映像构建中修改引导cmdline

问题描述 投票:1回答:1

我正在构建一个使用meta-intel层的自定义图像(我的目标是Intel板,例如Minnowboard Turbot),我想调整启动选项。

First problem

据我了解,meta-intel使用systemd-boot(通过rmc-boot)作为EFI_PROVIDER。

所以我应该能够通过设置覆盖特定的BOOT_TIMEOUT参数:

SYSTEMD_BOOT_TIMEOUT := "0"

在我的自定义图像中,据我所见,在this file

不幸的是,这不起作用(启动超时仍然是4秒)。怎么会 ?

Second problem

同样,我想将选项附加到boot.conf文件(在/boot/loader/entries中,由/boot/loader/loader.conf加载),例如quietvt.global_cursor_default=0

我在Intel machine conf中看到有一个APPEND配置,但覆盖它或在我的自定义图像中附加它不起作用(它仍然没有写在boot.conf文件中):

APPEND += "quiet vt.global_cursor_default=0"

我已检查配置是否正确读取,情况如下:

$ bitbake my-custom-image -e | grep ^APPEND= -A1 -B1
#   " quiet rootwait console=ttyS0,115200 console=tty0${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", " ro", "", d)}"
APPEND=" quiet vt.global_cursor_default=0 rootwait console=ttyS0,115200 console=tty0"
#

但无论我做什么,命令行都不会在构建的图像上发生变化。

我错过了什么?应该有一个相对简单的方法来实现我想的,但到目前为止我还没有成功。

非常感谢 !

linux boot yocto bitbake
1个回答
0
投票

我一直在使用meta-intel查看Yocto中用于intel平台的内核命令行参数。

我注意到了wic和hddimg yocto图像之间的差异。

hddimg似乎使用rmc启动条目定义,而wic映像使用wks kickstart中定义的启动条目。

我的机器conf有以下几点:

WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot rmc-boot", "systemd-bootdisk.wks", "mkefidisk.wks", d)}"

在转发中,systemd-bootdisk.wks具有以下引导条目“boot”:

bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=ext4 console=ttyS0,115200 console=tty0"

我的Minnowboard Max的RMC定义有2个条目,一个启动和一个安装。

Minnow Max B3 boot
Minnow Max B3 install

我正在使用Yocto的pyro版本。也许RMC引导定义的集成已集成到wic图像中。我正在寻找一个添加内核命令行参数的常见位置。任何的想法 ?

© www.soinside.com 2019 - 2024. All rights reserved.