如何更改核心映像最小yocto中的init系统

如何更改核心映像最小yocto中的init系统,yocto,bitbake,Yocto,Bitbake,我想基于core image minimal创建一个新目标,我想用systemd在SysV init上更改init系统。我希望我的更改是永久性的(不基于local.conf)。我该怎么做呢?编辑:正如安德斯在评论中指出的,我错了: 可用的init系统是在local.conf中设置的,但是您确实可以根据每个映像更改init系统。在您的情况下,您希望在核心图像最小值中更改它。此映像将安装packagegroup核心引导,其中 VIRTUAL-RUNTIME_init_manager ?= "sysv

我想基于
core image minimal
创建一个新目标,我想用
systemd
SysV init
上更改init系统。我希望我的更改是永久性的(不基于local.conf)。我该怎么做呢?

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

可用的init系统是在local.conf中设置的,但是您确实可以根据每个映像更改init系统。在您的情况下,您希望在
核心图像最小值中更改它。此映像将安装
packagegroup核心引导
,其中

VIRTUAL-RUNTIME_init_manager ?= "sysvinit"
VIRTUAL-RUNTIME_initscripts ?= "initscripts"
您可以创建自己的
packagegroup core boot systemd
,其中这些变量设置为

VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""
并将其安装到您的目标


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

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

# DISTRO = poky
DISTRO = <custom-distro>
#发行版=poky
发行版=

参考手册中也有关于

否的章节,发行版配置仅用于决定应提供哪种init系统。映像决定使用哪个init系统(有多个可用)。@Anders是的,你是对的。我目前无法访问我的资料来源,也记不清具体是如何访问的。我很乐意在周一编辑我的答案,如果你发布了正确的答案,我会删除这个答案。我认为最好的方法是指出开发手册: