[OE-core] [oe-commits] Chen Qi : busybox: add the ability to split the busybox binary

ChenQi Qi.Chen at windriver.com
Mon Jul 1 02:14:04 UTC 2013


On 06/28/2013 07:56 PM, Martin Jansa wrote:
> On Tue, Jun 25, 2013 at 04:37:58PM +0000, git at git.openembedded.org wrote:
>> Module: openembedded-core.git
>> Branch: master
>> Commit: e5a1442819dfb74e86a6f69da008ba6908c8bbc7
>> URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e5a1442819dfb74e86a6f69da008ba6908c8bbc7
>>
>> Author: Chen Qi <Qi.Chen at windriver.com>
>> Date:   Mon Jun 17 12:47:20 2013 +0800
>>
>> busybox: add the ability to split the busybox binary
>>
>> This patch enables us to split the busybox into two binaries, one
>> containing suid applications, and the other containing nosuid apps.
>>
>> Add a variable, BUSYBOX_SPLIT_SUID, to control whether to split the
>> busybox binary into two parts. We default it to "1" to enable the
>> splitting, but users could still override it to disable the splitting.
>> After all, busybox has no internal support for this suid apps splitting,
>> so there might be users out there who want just one busybox binary.
>>
>> The basic idea here is to build the busybox twice, each with the correct
>> configuration items. We extract the non-app part of the original .config
>> file, and merge this part with the suid-app part to form a .config which
>> contains only suid apps. The same strategy applies to the non-suid apps.
> Hi,
>
> have you tried to do on-device upgrade with this change?
> It looks very broken, description follows:
>
> 13:48:33 < JaMa> was sed applet removed from busybox or something like that? upgrade path seems to be broken
> 13:48:34 < JaMa> Configuring busybox-syslog.
> 13:48:34 < JaMa> /usr/bin/update-alternatives: line 186: sed: not found
> 13:48:58 < JaMa> and then all applets in main busybox package fail to set u-a because of missing sed..
> 13:49:27 < JaMa> and then fixing that is more complicated because wget symlink is gone too, so opkg update opkg upgrade wont work
> 13:49:40 < zecke> JaMa: IIRC the specific postinst was removed from busybox?!
> 13:50:55 < JaMa> /var/lib/opkg/info/busybox.postinst is still there
> 13:51:02 < JaMa> with a lot of u-a calls
> 13:51:34 < zecke> JaMa: generated by the bbclass and not the one that was in the busybox.inc (but i only read the digest and skip stuff)
> 13:51:37 < JaMa> that commit says it removes redundant u-a
> 13:52:11 < JaMa> SHR root at gjama ~ $ grep sed /var/lib/opkg/info/busybox.postinst   update-alternatives --install /bin/sed sed /bin/busybox.nosuid 50
> 13:52:23 < zecke> JaMa: Do you know if they/he tested on device upgrade?
> 13:52:56 < zecke> i am obviously just guessing
> 13:54:05 < JaMa> all u-a are still pointing to /bin/busybox, but that one is gone replaced by /bin/busybox.(no)suid
> 13:54:44 < JaMa> we should install /bin/busybox -> /bin/busybox.nosuid to fix upgrade path..
Hi Martin,

Could you please provide me more information about how to reproduce this 
problem?

Thanks,
Chen Qi



More information about the Openembedded-core mailing list