如何解决如何从Yocto禁用RNGD服务?
背景:我正在使用SystemD运行Yocto Zeus和Linux Kernel 4.14。我的目标是嵌入式i.MX6。
我一直在尝试在启动时禁用RNGD服务。它在启动后会消耗所有内核很多秒钟,并且当我手动禁用(通过 systemctl disable rngd 时,它实际上被禁用并且没有不良影响(我们的软件不使用/ dev / random )。
我浏览了Disable a standard systemd service in Yocto build,并尝试了删除和删除链接的过程,但似乎都没有用。这是我的图层中 systemd _%。bbappend 文件的内容。
# To remove the package completely,add it to this space separated list.
# Not all services can be removed.
PACKAGECONFIG_remove = "timesyncd kmod rngd"
do_install_append() {
rmdir ${D}${sysconfdir}/systemd/network
ln -sfn /var/local/etc/systemd/network ${D}${sysconfdir}/systemd/network
rm -f ${D}${sysconfdir}/systemd/system/multi-user.target.wants/rngd.service
}
是否可以删除此服务?即使有这两个,我仍然看到rngd在启动时运行。我完全有信心将所做的更改包括在内,如果我运行 bitbake -e systemd |我可以看到它们。 grep rngd :
gen-ccm-root@ubuntu:~/workdir/tools/poky/build-dev$ bitbake -e systemd | grep rngd
# "timesyncd kmod rngd"
rm -f /home/gen-ccm-root/workdir/tools/poky/build-dev/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/systemd/1_243+AUTOINC+efb536d0cb-r0/image/etc/systemd/system/multi-user.target.wants/rngd.service
我也已经确认该文件中的其他内容实际上已经生效。网络链接正确建立,并且我已确认timesyncd
服务已删除。我已经确认要删除的文件是systemctl disable会删除的链接:
~# systemctl disable rngd
Removed /etc/systemd/system/multi-user.target.wants/rngd.service.
解决方法
在Poky(Warrior分支)上,我有一个bbappend禁用rng
。文件名是rng-tools_%.bbappend
,包含:
SYSTEMD_AUTO_ENABLE_rng-tools = "disable"
,
我不认为systemd提供了rngd吗?尝试从图像中删除auth.loginWithCredential(new stitch.AnonymousCredential()).then(() => ...
软件包。
我首先要确保rng-tools实际上在当前映像中-您可以检查映像清单文件来做到这一点。
要删除rng-tools,您可以修改实际的图像配方,这样一来就不会添加rng-tools,或者您可以尝试例如rng-tools
在您的用户配置中。
我将 Variscite's iMX6 SOM
与 sysvinit
一起使用。
提到的 IMAGE_INSTALL_
删除选项对我不起作用,也无助于从 rng-tools
中删除 MACHINE_EXTRA_RDEPENDS
。
我最终通过执行以下操作删除了 OpenSSH 软件包的“推荐”:
BAD_RECOMMENDATIONS = "rng-tools rng-tools-dev"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。