0

我正在使用 initramfs-tools 挂钩在 Ubuntu 上的预启动或启动后运行自定义命令。(https://manpages.ubuntu.com/manpages/xenial/man8/initramfs-tools.8.html

现在我想为我在 buildroot 环境中运行 Linux 的嵌入式设备尝试同样的事情。我没有找到任何用于 buildroot 配置的 initramfs-tools。

问题:

  1. 如何在 buildroot 环境中包含 initramfs-tools
  2. 是否有任何现有的方法来调用来自 buildroot 中的 initramfs 的脚本?

谢谢

4

1 回答 1

0

使用 Buildroot 构建系统时,通常不会先启动到 initramfs,然后再转到完整的 rootfs。实际上,通常不需要这样做,因为在以 Buildroot 为目标的系统上,您通常非常清楚启动时需要哪些模块,并且您将这些模块构建到内核中,而不是将它们构建为模块。

在需要 initramfs 的极少数情况下,通常的方法是进行两种单独的 Buildroot 配置:一种用于 initramfs(通常还包括内核),另一种用于 rootfs。

也就是说,使用 initramfs-tools 的方法听起来也是一种有用的方法。

要完成这项工作,首先您需要创建 initramfs-tools 包。这将是一个仅限主机的软件包。然而,initramfs-tools 很可能对交叉构建不友好,因此可能需要对其进行修补才能在构建环境与目标环境不同的上下文中使用。

接下来,您需要在运行 initramfs-tools 的过程中执行一个步骤。您可以将其作为构建后脚本来执行。或者,您可以为它创建一个新的“文件系统”,即一个fs/带有菜单项和生成文件的新目录。

于 2021-12-14T07:44:36.737 回答