【问题标题】:Amend boot cmdline in custom image build修改自定义映像构建中的引导命令行
【发布时间】:2018-03-24 02:45:09
【问题描述】:

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

第一个问题

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

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

SYSTEMD_BOOT_TIMEOUT := "0"

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

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

第二个问题

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

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

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"
#

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

我想念什么?应该有一个相对简单的方法来实现我的猜测,但到目前为止我还没有设法做到。

非常感谢!

【问题讨论】:

  • 您是否尝试清理此任务的(配方)并在没有缓存的情况下重建?
  • 我总是使用bitbake -c clean my-custom-image,但你的意思是我需要像cleanall 这样的强力清洁剂吗?
  • 好吧,看起来您的更改没有正确交换,我很好奇您是否正在清理 WS - 我认为 cleanall 任务在这里没有帮助(使用 tmp/work///temp/log.task_order 文件您可以检查任务是否从缓存中获取)。您是否更改了原始文件,或者您是否在 conf/local.conf 等全局文件中应用了此配置?
  • 我尝试在 conf.local 中添加 APPEND,并在我自己层 (conf/distro/my-distro.conf) 的自定义发行版中添加,但无济于事
  • 我在这里也使用meta-intel(我从别人那里接手的相当新的项目,我还不了解所有细节。)它启动了,到目前为止我不需要调整开机。据我了解,我根本不使用引导管理器,而是引导 EFI 存根,它是 linux 内核的一部分。我仍然可以在我的图像环境中看到EFI_PROVIDER="rmc-boot"systemd-bootrmc-* 没有在这里构建,尽管它们是添加层的一部分。你确定你真的在使用引导管理器吗?

标签: linux boot yocto bitbake


【解决方案1】:

我一直在用元英特尔查看 Yocto 中英特尔平台的内核命令行参数。

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

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

我的机器配置如下:

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 映像中。 我正在寻找一个常见的地方来添加内核命令行参数。有什么想法吗?

【讨论】:

    猜你喜欢
    • 2015-05-20
    • 1970-01-01
    • 2016-03-20
    • 2016-10-18
    • 2022-08-03
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多