如何在 core-image-minimal yocto 中更改初始化系统

Umu*_*mut 4 bitbake yocto

我想创建一个基于的新目标core-image-minimal,我想用systemdover更改初始化系统SysV init。我希望我的更改是永久性的(不基于 local.conf)。我怎样才能做到这一点?

Fl0*_*0v0 5

编辑:正如安德斯在评论中指出的那样,我错了:

可用的 init 系统在 local.conf 中设置,但您确实可以在每个映像的基础上更改 init 系统。在您的情况下,您想将其更改为core-image-minimal. 此映像安装packagegroup-core-boot哪个集

VIRTUAL-RUNTIME_init_manager ?= "sysvinit"
VIRTUAL-RUNTIME_initscripts ?= "initscripts"
Run Code Online (Sandbox Code Playgroud)

您可以packagegroup-core-boot-systemd在这些变量设置为的地方创建自己的

VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""
Run Code Online (Sandbox Code Playgroud)

并将其安装到您的目标上。


init 系统的配置是Distro Feature。这意味着它不在图像配方中,而是在 local.conf 中。

如果您不想将配置放在 local.conf 中,您可以使用其中的设置创建自定义发行版配置。您唯一需要在 local.conf 中更改的是该行

# DISTRO = poky
DISTRO = <custom-distro>
Run Code Online (Sandbox Code Playgroud)

参考手册还有一章关于创建自己的发行版

  • 我认为最好的方法是指出开发手册:http://www.yoctoproject.org/docs/1.6/dev-manual/dev-manual.html#selecting-an-initialization-manager (3认同)