如何禁用 Yocto 的 RNGD 服务?
How disable the RNGD service from Yocto?
背景:我正在 运行ning Yocto Zeus,Linux 使用 SystemD 的内核 4.14。我的目标是嵌入式 i.MX6。
我一直在尝试在启动时禁用 RNGD 服务。启动后它会消耗所有内核数秒,当我手动禁用时(通过 systemctl disable rngd 它实际上被禁用并且没有不良影响(我们的软件不使用 /dev/random).
我查看了 并尝试了包删除和删除 link,但似乎都不起作用。这是我层中 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 运行ning 。我有理由相信我的更改已包含在内,如果我 运行 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
我也已确认该文件中的其他内容实际上正在生效。网络 link 正在正常制作中,我已确认 timesyncd
服务已被删除。我已确认我要删除的文件是 systemctl disable 将删除的 link:
~# systemctl disable rngd
Removed /etc/systemd/system/multi-user.target.wants/rngd.service.
我不认为 rngd 是由 systemd 提供的?尝试从您的图像中删除 rng-tools
包。
我首先要确保 rng-tools 当前确实在图像中——您可以检查图像清单文件来做到这一点。
要删除 rng-tools 你可以修改实际的图像配方,这样它就不会首先添加 rng-tools 或者你可以尝试例如IMAGE_INSTALL_remove = " rng-tools"
在您的用户配置中。
在 Poky(Warrior 分支)上,我有一个 bbappend 可以禁用 rng
。文件名为 rng-tools_%.bbappend
并包含:
SYSTEMD_AUTO_ENABLE_rng-tools = "disable"
我正在使用 Variscite's iMX6 SOM
和 sysvinit
。
提到的 IMAGE_INSTALL_
删除选项对我不起作用,而且它无助于从 MACHINE_EXTRA_RDEPENDS
.
中删除 rng-tools
我最终删除了由 OpenSSH 软件包制作的 'recommendation',方法是:
BAD_RECOMMENDATIONS = "rng-tools rng-tools-dev"
背景:我正在 运行ning Yocto Zeus,Linux 使用 SystemD 的内核 4.14。我的目标是嵌入式 i.MX6。
我一直在尝试在启动时禁用 RNGD 服务。启动后它会消耗所有内核数秒,当我手动禁用时(通过 systemctl disable rngd 它实际上被禁用并且没有不良影响(我们的软件不使用 /dev/random).
我查看了
# 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 运行ning 。我有理由相信我的更改已包含在内,如果我 运行 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
我也已确认该文件中的其他内容实际上正在生效。网络 link 正在正常制作中,我已确认 timesyncd
服务已被删除。我已确认我要删除的文件是 systemctl disable 将删除的 link:
~# systemctl disable rngd
Removed /etc/systemd/system/multi-user.target.wants/rngd.service.
我不认为 rngd 是由 systemd 提供的?尝试从您的图像中删除 rng-tools
包。
我首先要确保 rng-tools 当前确实在图像中——您可以检查图像清单文件来做到这一点。
要删除 rng-tools 你可以修改实际的图像配方,这样它就不会首先添加 rng-tools 或者你可以尝试例如IMAGE_INSTALL_remove = " rng-tools"
在您的用户配置中。
在 Poky(Warrior 分支)上,我有一个 bbappend 可以禁用 rng
。文件名为 rng-tools_%.bbappend
并包含:
SYSTEMD_AUTO_ENABLE_rng-tools = "disable"
我正在使用 Variscite's iMX6 SOM
和 sysvinit
。
提到的 IMAGE_INSTALL_
删除选项对我不起作用,而且它无助于从 MACHINE_EXTRA_RDEPENDS
.
rng-tools
我最终删除了由 OpenSSH 软件包制作的 'recommendation',方法是:
BAD_RECOMMENDATIONS = "rng-tools rng-tools-dev"