[yocto] I hate busybox!

Bob Cochran yocto at mindchasers.com
Tue Sep 15 12:30:40 PDT 2015


On 09/15/2015 02:22 PM, Trevor Woerner wrote:
> On 09/15/15 13:01, Bob Cochran wrote:
>> On 09/15/2015 12:38 PM, Romain Perier wrote:
>>> Hi all,
>>>
>>> I disagree,
>>> Unfortunately some embedded devices in the industry are not like most
>>> of the tablets and smartphones in the market (no quad or octo cores
>>> with few GB of ram... and few GB of flash...)   ;)  .For example,
>>> these days, at work, we're designing a board with the SoC zynq-7000
>>> and a quad-spi NOR flash. The NOR only has 16MB... now remove ~2Mb for
>>> u-boot... 4Mb for the bistream (fpga)... I only have 10MB for my
>>> kernel and my rootfs.
>>>
>>> Embedded projects like uclibc, musl or busybox are very appreciated in
>>> cases like this one :)
>>>
>>> I am not saying that it is a great thing to have busybox built and
>>> enabled by default, but that is a great thing to be able to use it.
>>> In fact, it strongly depends on your needs for the target...
>>
>> Agreed.
>>
>> I just tack on IMAGE_INSTALL_append = " tar findutils tree etc..." in
>> my image recipe when I have the rootfs space, and I want the full
>> tool. The build system seems to do a nice job of creating the links
>> properly.
>
> This is merely an example of the exception being taken for the norm/default.
>
> You'd be hard-pressed to find many boards that don't have an SD or
> microSD slot for your bootloader, kernel, and filesystem image. And
> you'd be hard-pressed to buy an SD/microSD card less than 8GB now-a-days.
>
> Even amongst boards that have on-board flash, most of them have 1GB or
> more with 4GB being quite common:

Right, but I want to use FLASH to store a lot of nonvolatle R/W data, 
not just applications, libraries, and the kernel, so a couple GB doesn't 
go very far.

Do you know offhand how much bigger the rootfs would be if you build 
core-image-base without busybox and instead use the real applications?

Also, how many more packages have to be built / managed?

Thanks



>
>
> https://en.wikipedia.org/wiki/Comparison_of_single-board_computers#I.2FO_interfaces_and_ports
>
> In any case, choice in deciding what goes into an image is good. I
> simply think that, now-a-days, basing all images on busybox (and having
> the option to swap some out) is rather quaint. The problem is: your
> image doesn't have "ls", it has "busybox's ls". And your image doesn't
> have "ps", it has "busybox's ps"... and those aren't the same. In most
> cases I want the "real" utilities (the ones I've spent that last 20
> years using) not some crippled version.
>
> Ideally the basic OE images would be based on the real utilities (i.e.
> the images that get built by default and tested by the Yocto Project's
> QA machinery), and there would be a core-image-minimal-busybox (and
> core-image-minimal-toybox) provided in those vanishingly rare cases
> where they might be needed. Instead of the current situation where
> busybox is the default, and some images swap out some of its components
> for the real ones.
>




More information about the yocto mailing list