Removing busybox completely from a Yocto generated image

扶醉桌前 提交于 2019-12-11 05:07:34

问题


I'm trying to build a yocto image without busybox and without any busybox applet deployed.

I have tried that configuring my distro.conf file in this way:

DISTRO_FEATURES_remove = " busybox"
VIRTUAL-RUNTIME_base-utils = ""
PREFERRED_PROVIDER_virtual/base-utils = ""

Nonetheless, busybox binary and two related applets (syslog and udhcpc) are installed in the generated image:

$ rpm -qa | grep busybox
busybox-syslog-1.24.1-r0.corei7_64
busybox-1.24.1-r0.corei7_64
busybox-udhcpc-1.24.1-r0.corei7_64

I have tried disabling syslog applet appending to my distro.conf file:

VIRTUAL-RUNTIME_syslog ?= ""

But syslogd applet is still installed:

# ls -l /sbin/syslogd
lrwxrwxrwx 1 root root 19 Feb 15 14:03 /sbin/syslogd -> /bin/busybox.nosuid

Is there some way to remove busybox completely from the generated image?


回答1:


You need to break apart packagegroup-core-boot:

  1. make a copy of it;
  2. remove busybox from it;
  3. make your image inherit it instead of the original.



回答2:


Finally I found the right answer to my question. The trick to disable busybox completely is defining these variables in the distro.conf file:

VIRTUAL-RUNTIME_base-utils = ""
VIRTUAL-RUNTIME_login_manager = "shadow"

Last variable (login_manager) is only needed if you install "packagegroup-core-boot" in your custom image, such as in my case.

So, this question is solved. Thank you so much for all your support! :-)



来源:https://stackoverflow.com/questions/48830472/removing-busybox-completely-from-a-yocto-generated-image

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!