Yocto 虚拟运行时\u登录\u管理器busybox的替代方案

Yocto 虚拟运行时\u登录\u管理器busybox的替代方案,yocto,Yocto,VIRTUAL-RUNTIME\u login\u manager变量用于确定用户登录目标映像时使用的软件。默认设置为busybox 在我的图像中,我想使用coreutils和systemd,这通常很好用。但是,由于这个变量的默认值,busybox仍然包含在我的映像中并被使用。我如何告诉Yocto使用systemd提供的登录工具包 我找到的唯一替代价值是tinylogin,它是。我尝试了“systemd”和“coreutils”,但没有成功-两者都显示登录名,但在我输入密码后抛出无法执行错误 我

VIRTUAL-RUNTIME\u login\u manager
变量用于确定用户登录目标映像时使用的软件。默认设置为
busybox

在我的图像中,我想使用coreutils和systemd,这通常很好用。但是,由于这个变量的默认值,busybox仍然包含在我的映像中并被使用。我如何告诉Yocto使用systemd提供的登录工具包

我找到的唯一替代价值是tinylogin,它是。我尝试了
“systemd”
“coreutils”
,但没有成功-两者都显示登录名,但在我输入密码后抛出
无法执行
错误

我还偶然发现了
consolekit
配方,它需要x11作为
发行版功能。我不想在我的形象,因为我不需要它

所以,我的问题是(除了busybox和tinylogin):

VIRTUAL-RUNTIME\u login\u manager变量的有效值是什么?

答案是,我已经在sumo上证实了这一点,在我们使用VIRTUAL-RUNTIME的其他任何地方都应该是好的,这就是@Kai很接近,我们需要做:

VIRTUAL-RUNTIME_login_manager = "shadow-base"

因为我们需要在这里提供的不是配方名称,而是要安装的软件包名称,目前我们已将shadow的/bin/login放入shadow基本软件包中。

请尝试使用VIRTUAL-RUNTIME\u login\u manager=“shadow”。分配给VIRTUAL-RUNTIME\u login\u manager的包应提供/bin/login。@Kai感谢您的提示!已尝试-
/bin/login
作为符号链接存在于
/bin/login.shadow
中,该符号也存在,但我在尝试登录时仅在输入用户名和密码后显示“Cannot Execu”。我使用默认的(busybox)登录管理器设置重建了版本,并复制了使用您的(影子)配置到工作映像的主目录,看看会发生什么。如果我执行
~/login.shadow
我会得到一个工作登录的提示。
diff/bin/login.shadow~/login.shadow
没有显示任何差异,问题似乎在其他地方。meta yocto/conf/local.conf.sample.extend中的以下配置ed,它应该与systemd一起使用。如果仍然
无法执行
,我怀疑它与配置无关。
#将systemd用于系统初始化发行版功能\u append=“systemd”发行版功能\u BACKFILL\u考虑+=“sysvinit”VIRTUAL-RUNTIME\u init\u manager=“systemd”VIRTUAL-RUNTIME\u initscripts=“systemd compat units”
谢谢,这是很有价值的信息!不幸的是,我无法验证这一点,因为我不再从事相关项目。