[poky] About minimal image

Kang Kai Kai.Kang at windriver.com
Tue Apr 26 18:55:47 PDT 2011


Hi Mark,

> On 4/26/11 12:40 AM, Kang Kai wrote:
>> Hi Mark,
>>
> Apologies for the late response.  I've been out of the office...
>
>>> I have read your mail about minimal image posted on Feb 19 on this mail list.
>>> We try to reduce image size by what your said:
>>>
>>>     1. eglic configurability
> eglibc configuration should affect the size of things greatly...
>
>>>     2. using mklibs
>>>
>>>
>>> Right now after migrate eglic configurability to my local yocto branch, and I
>>> only enable 4 options ("locale-code nsswitch rtld-debug posix-clang-wchar ",
>>> pls. check in attachment) of eglibc just to make compile pass.
> locale-code, nsswitch and any of the "wchar" options add a significant amount of
> space to the eglibc environment.  (I don't know what rtld-debug does, so I don't
> know how to quantify it's effects on the rootfs size.)
>
> If disabling any of these items causes a failure when building eglibc itself, we
> need to fix these issues and/or report them upstream.
I'll take that as the direction is right, disable all configurable 
options to reduce the image size. :)
And I will try to figure out why disable these 4 options will cause 
eglibc build failure.

>>> When after create minimal image, the rootfs (tar.bz2) is still about 3.4M,
>>> same size as without adding  configurability to eglibc.
>>>
> You need to look at the files on the image, not the overall size of the image.
> Figure out where the larger items are any why they are there.  This should help
> explain what is making the "optimized" minimal so big.
ok, I'll do it.

>>> Could you give me some directions what should we do in next step? We also hope
>>> some information about how to use mklibs to reduce packages and image size?
>> After open MKLIBS_OPTIMIZED_IMAGES ?= "core-image-minimal" in local.conf, the
>> minimal image decrease from 3.4M to 3.1M, after extraction is 8.1M( vs. 8.4M
>> before using mklibs). It looks like not so efficient as we expected.
> mklibs relinks the libc binary to remove objects that were not used.  While the
> eglibc configuration simply disables various features in order to save space.
> The two are complementary.. but the more features you disable, the less mklibs
> will save.
>
>> Should I try to reduce busybox size at same time?Such as remove some not so
>> usually used commands by configurations?
> I suspect that the size and configuration of busybox is also affecting which
> items you need to have enabled within the eglibc configuration -- and which
> items mklibs is determining are needed.
>
>> Any suggestion or guild will be appreciate!
> I would suggest that you evaluate busybox and see if there are any components
> you can disable there as well -- while leaving the system somewhat functional.
>
> The biggest problem with any of these "smallest system" exercises is that you
> need to have a target of functionality so that you can make the proper
> decisions.  If the target is current configuration -- then likely we're about at
> a minimum already.. however if the target is to boot into a shell, we can
> disable a lot of busybox and simply enable the dash capabilities -- or even one
> of the lesser non-POSIX shells.
I will ask Saul and Richard for more detailed requirements.
Thank you very much!

Regards,
Kai



More information about the poky mailing list