[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