[poky] eglibc configurability
Gary Thomas
gary at mlbassoc.com
Mon Feb 7 08:54:48 PST 2011
On 02/07/2011 09:29 AM, Mark Hatle wrote:
> Could you find the related init script and point me to the contents. I don't
> see any initscripts in the eglibc integration. The only thing I see is a switch
> in the locale generation between on target, on host and via QEMU. I'm wondering
> if maybe this is being triggered?
This could be what I'm seeing. I have ENABLE_BINARY_LOCALE_GENERATION disabled
in my local.conf (I had troubles with QEMU-ARM on Fedora in the past and this
was the way around it). It looks like that may be pushing the locale compilation
to the target. I see these scripts on my target:
-rwxr-xr-x 1 root root 456 Feb 4 22:18 /var/lib/opkg/info/locale-base-en-gb.postinst
-rwxr-xr-x 1 root root 456 Feb 4 22:19 /var/lib/opkg/info/locale-base-en-us.postinst
One of which looks like this:
------------------------------------------------------------------------------------------
# cat /var/lib/opkg/info/locale-base-en-gb.postinst
#!/bin/sh
if [ "x$D" != "x" ]; then
exit 1
fi
rm -rf /tmp/locale/usr/lib/locale
mkdir -p /tmp/locale/usr/lib/locale
if [ -f /usr/lib/locale/locale-archive ]; then
cp /usr/lib/locale/locale-archive /tmp/locale/usr/lib/locale/
fi
localedef --inputfile=/usr/share/i18n/locales/en_GB --charmap=UTF-8 --prefix=/tmp/locale en_GB
mkdir -p /usr/lib/locale/
mv /tmp/locale/usr/lib/locale/locale-archive /usr/lib/locale/
rm -rf /tmp/locale/usr/lib/locale
------------------------------------------------------------------------------------------
I'd like to use this (from libc-package.bbclass)
# Caller should set GLIBC_INTERNAL_USE_BINARY_LOCALE to one of:
# "compile" - Use QEMU to generate the binary locale files
# "precompiled" - The binary locale files are pregenerated and already present
# "ondevice" - The device will build the locale files upon first boot through the postinst
If I can figure out how to make it use "precompiled", that would be the best. Since
the default is "ondevice", this explains _what_ it's doing.
> On 2/7/11 10:19 AM, Gary Thomas wrote:
>> On 02/07/2011 09:06 AM, Richard Purdie wrote:
>>> On Mon, 2011-02-07 at 07:44 -0700, Gary Thomas wrote:
>>>> I often run small (slow) embedded systems with only a ramdisk
>>>> based file system. When I use Poky for this, one side effect
>>>> is that some packages need to be "configured" on bootup, which
>>>> in the case of a ramdisk based operation means every time.
>>>>
>>>> I notice that the eglibc package brings in a couple of these
>>>> which are problematic (mostly in how long they take to run)
>>>> Looking at meta/conf/distro/include/poky-eglibc.inc:
>>>>
>>>> LIBC_DEPENDENCIES = "libsegfault \
>>>> eglibc \
>>>> eglibc-dbg \
>>>> eglibc-dev \
>>>> eglibc-utils \
>>>> eglibc-thread-db \
>>>> eglibc-localedata-i18n \
>>>> eglibc-gconv-ibm850 \
>>>> eglibc-gconv-cp1252 \
>>>> eglibc-gconv-iso8859-1 \
>>>> eglibc-gconv-iso8859-15 \
>>>> locale-base-en-us \
>>>> locale-base-en-gb "
>>>>
>>>> On my OMAP-L138 target, configuring locale-base-* takes
>>>> a long time, upwards of 35 seconds each.
>>>>
>>>> Are multiple locale-base packages really necessary?
>>>> How could I best (in the Poky spirit) limit this? In the
>>>> minimum, I'd like to only have one locale, saving at least
>>>> 35 seconds of boot time.
>>>>
>>>> Ideas? Comments?
>>>
>>> Shouldn't the cross locale generation be generating the locales at build
>>> time meaning the locales shouldn't be generated on the device?
>>
>> I'm not sure the details, I just know that it prints these
>> messages on boot:
>> Configuring dbus-1.
>> Adding system startup for /etc/init.d/dbus-1.
>> Configuring locale-base-en-gb.
>> Configuring locale-base-en-us.
>>
>> The last two are my concern since they take 35 seconds each to run.
>> It's a deeply embedded system and does not need multi-locale support
>> at any level.
>>
>> In any case, my comment was that there doesn't seem to be any way
>> to control/configure this at initial build time. Per the previous
>> reply, I don't see how LIMIT_BUILT_LOCALES affects this at all.
>>
>>
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
More information about the poky
mailing list