如何在core-image-minimal yocto中更改init系统

时间:2016-12-10 19:52:13

标签: yocto bitbake

我想基于core-image-minimal创建一个新目标,我希望将systemd更改为SysV init。我希望我的更改是永久性的(没有任何基于local.conf的)。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

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

可用的init系统在local.conf中设置,但您确实可以基于每个映像更改init系统。在您的情况下,您想要在core-image-minimal中进行更改。此图片会安装packagegroup-core-boot设置

VIRTUAL-RUNTIME_init_manager ?= "sysvinit"
VIRTUAL-RUNTIME_initscripts ?= "initscripts"

您可以创建自己的packagegroup-core-boot-systemd,其中这些变量设置为

VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""

并将其安装到您的目标。

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

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

# DISTRO = poky
DISTRO = <custom-distro>

参考手册还有一章creating your own distro