Some numbers on uClibc

Andy Green andy at warmcat.com
Thu Feb 9 17:20:45 UTC 2006


Andy Green wrote:
> Pete Zaitcev wrote:
> 
>> Very well, if you say so, ash may be all right. But busybox seems to
>> take this too far. You know what the root of all evil is... So why don't
>> we let OLPC group to actually build a system and take measurements?
>> It seems too early to decide on busybox. For crying out loud, it's

I decided to get some numbers to give an idea of what I am going on about.

1) I started trying with FC4 as a basis.  This is the minimum packageset
for FC4 that includes bash, coreutils.  There is a ton of stuff that is
not needed at all in the usage scenario for this box.

rm -rf testfs ; mkdir -p testfs/dev ; chmod 777 testfs/dev ; mknod
testfs/dev/null c 1 3 ; chmod 666 testfs/dev/null ; mknod
testfs/dev/zero c 1 5 ; chmod 666 testfs/dev/zero ; rpm -r
/usr/src/silentcat-0.2/packages/testfs -i basesystem-8.0-5.noarch.rpm
setup-2.5.44-1.1.noarch.rpm rpms/filesystem-2.3.4-1.i386.rpm
rpms/libgcc-4.0.2-8.fc4.i386.rpm rpms/bash-3.0-31.i386.rpm
rpms/glibc-2.3.5-10.3.i386.rpm rpms/termcap-5.4-7fc4.noarch.rpm
rpms/glibc-common-2.3.5-10.3.i386.rpm rpms/tzdata-2005r-3.fc4.noarch.rpm
rpms/libtermcap-2.0.8-41.i386.rpm rpms/mktemp-1.5-23.i386.rpm
rpms/coreutils-5.2.1-48.1.i386.rpm rpms/findutils-4.2.20-1.i386.rpm
rpms/libacl-2.2.32-1.FC4.2.i386.rpm rpms/pam-0.79-9.6.i386.rpm
rpms/cracklib-dicts-2.8.2-1.i386.rpm rpms/cracklib-2.8.2-1.i386.rpm
rpms/audit-libs-1.0.14-1.fc4.i386.rpm
rpms/libselinux-1.23.11-1.1.i386.rpm rpms/sed-4.1.4-1.i386.rpm
rpms/initscripts-8.11.1-1.i386.rpm rpms/e2fsprogs-1.38-0.FC4.1.i386.rpm
rpms/grep-2.5.1-48.2.i386.rpm rpms/ethtool-3-1.i386.rpm
rpms/module-init-tools-3.2-0.pre9.0.FC4.1.i386.rpm
rpms/util-linux-2.12p-9.13.i386.rpm rpms/mkinitrd-4.2.15-1.i386.rpm
rpms/udev-071-0.FC4.2.i386.rpm rpms/SysVinit-2.85-39.i386.rpm
rpms/cpio-2.6-9.FC4.i386.rpm rpms/gzip-1.3.5-6.i386.rpm
rpms/lvm2-2.01.08-2.1.i386.rpm rpms/MAKEDEV-3.19-1.i386.rpm
rpms/popt-1.10.1-22.i386.rpm rpms/pcre-5.0-4.1.fc4.i386.rpm
rpms/libsepol-1.5.10-1.1.i386.rpm rpms/zlib-1.2.2.2-5.fc4.i386.rpm
rpms/ncurses-5.4-17.i386.rpm rpms/device-mapper-1.01.02-1.0.i386.rpm
rpms/hotplug-2004_09_23-7.i386.rpm rpms/mingetty-1.07-5.i386.rpm
rpms/less-394-1.fc4.i386.rpm rpms/readline-5.0-3.i386.rpm
rpms/hwdata-0.158.3-1.noarch.rpm rpms/net-tools-1.60-52.fc4.1.i386.rpm
rpms/libattr-2.4.24-1.FC4.1.i386.rpm
rpms/shadow-utils-4.0.12-6.FC4.i386.rpm rpms/tar-1.15.1-11.FC4.i386.rpm
rpms/kernel-2.6.15-1.1831_FC4.i586.rpm
rpms/chkconfig-1.3.23-0.4.i386.rpm rpms/fedora-release-4-2.noarch.rpm
rpms/iputils-20020927-22.i386.rpm rpms/gawk-3.1.4-5.3.i386.rpm
rpms/info-4.8-8.fc4.1.i386.rpm rpms/psmisc-21.5-5.i386.rpm
rpms/sysklogd-1.4.1-30.i386.rpm rpms/procps-3.2.5-6.3.i386.rpm
rpms/iproute-2.6.11-1.i386.rpm rpms/db4-4.3.27-3.i386.rpm
rpms/libstdc++-4.0.2-8.fc4.i386.rpm

# du testfs -h --exclude proc --exclude dev -s
186M    testfs

2) This is an i386 busybox with most mod cons and locale support, still
using FC4 glibc (notice stuff like selinux libs, db4 and initscripts are
gone)

rm -rf testfs ; mkdir -p testfs/dev ; chmod 777 testfs/dev ; mknod
testfs/dev/null c 1 3 ; chmod 666 testfs/dev/null ; mknod
testfs/dev/zero c 1 5 ; chmod 666 testfs/dev/zero ; rpm -r
/usr/src/silentcat-0.2/packages/testfs -i basesystem-8.0-5.noarch.rpm
setup-2.5.44-1.1.noarch.rpm rpms/filesystem-2.3.4-1.i386.rpm
rpms/libgcc-4.0.2-8.fc4.i386.rpm
/home/packager/rpm/RPMS/i386/busybox-1.1.0-21.i386.rpm
rpms/zlib-1.2.2.2-5.fc4.i386.rpm rpms/glibc-2.3.5-10.3.i386.rpm
rpms/glibc-common-2.3.5-10.3.i386.rpm rpms/tzdata-2005r-3.fc4.noarch.rpm

# du testfs -h --exclude proc --exclude dev -s
107M    testfs


3) This is an i386 uclibc + busybox minimal filesystem, with ash, most
coreutils, common goodies like network, ifconfig, udhcpc, modprobe, etc,
etc.  Without kernel though, which will be an extra 1.2MB or
thereabouts.  It has various libs including libstdc++, and libc provided
by uclibc.

$ du -h build_i386/root -s
3.7M    build_i386/root

-Andy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 4492 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20060209/333c9bb2/attachment.bin>


More information about the fedora-devel-list mailing list