[yocto] Busybox sh link

Stefan Eichenberger stefan.eichenberger at netmodule.com
Wed Nov 19 01:08:25 PST 2014


On 11/19/2014 07:00 AM, ChenQi wrote:
> On 11/19/2014 12:34 AM, Stefan Eichenberger wrote:
>> On 11/18/2014 04:07 AM, ChenQi wrote:
>>> On 11/17/2014 10:07 PM, Stefan Eichenberger wrote:
>>>> Hello all
>>>>
>>>> I have a question regarding busybox and sh. If I want to install 
>>>> bash together with busybox ash, yocto does not consider the 
>>>> ALTERNATIVE_PRIORITY in each case (e.g. if bash is installed before 
>>>> busybox). The problem is that do_install of busybox creates a link 
>>>> to busybox.nosuid. Is there a reason for that? Shouldn't 
>>>> update-alternatives create that link for us? There is already a 
>>>> patch available that targets this problem 
>>>> (467b19efbaa9c0cb04d2665e8cd9a0919849a5ed ) but it only works if 
>>>> ash is completely disabled in the busybox config.
>>>>
>>>> So the main question is, wouldn't it be possible to remove this 
>>>> lines completely?
>>>>
>>>> Regards,
>>>> Stefan
>>>>
>>>>
>>>
>>> I can confirm that this is indeed a problem. And we need to fix this.
>>> I think the reason for this line is mainly to make 'busybox' provide 
>>> '/bin/sh' so that do_rootfs would succeed.
>>>
>>> Regards,
>>> Chen Qi
>>
>> Probably I miss something but I don't understand why do_rootfs fails 
>> if the link is not provided? Isn't the link created anyhow during 
>> package installation in the postinstall script with 
>> update-alternatives if necessary?
>>
>> For testing I removed the link creation temporary from the recipe and 
>> built the core-image-minimal for qemux86, it was creating the link 
>> correctly in this case.
>>
>> Regards,
>> Stefan
>>
>>
>
> Hi Stefan,
>
> I did some testing, and could not reproduce the problem.
> I then realized that as the sh link is managed by ALTERNATIVES 
> mechanism, it will always point to bash instead of busybox.
>
> I tested it by the following steps:
> 1. build core-image-minimal with bash installed
> 2. reinstall bash
> 3. reinstall busybox
>
> So I think the current code is right.
>
> I'm not sure if I missed something. If so, could you please provide 
> more information?
>
> Best Regards,
> Chen Qi

Hi Chen,

You are right, sorry! I think I figured out what I've missed. On an 
image I have disabled busybox ash completely, therefore I didn't saw the 
update-alternative running for sh. Because it was an older version of 
yocto without the above patch, I've got an invalid image. I then tough 
the same problem would appear if I enable busybox ash again, but in this 
case update-alternative would run, so the problem wouldn't appear.

Sorry for the false alarm!

Regards,
Stefan






More information about the yocto mailing list