[uClibc]RFC: Possible FAQ entry for uClibc/LFS

Bruce J.A. Nourish kode187 at kode187.net
Thu Dec 19 02:42:26 UTC 2002


Erik,

I'm submitting this as a possible addition to the uClibc FAQ, as this
question seems to come up regularly on the list, and I at least have
given the same answers several times. Comments and revisions are
solicited from all.

Q: I want to build an LFS system with uClibc! How, what, who, where..?

A: Hold on a second. What, precisely, are you trying to achieve?
When this question is raised on the list, the questioner invariably
wants one of three different things, usually the first:

(1) A complete uClibc development environment for thier project. 

Erik Andersen makes available a <link> root fs image containing a
complete uClibc 0.9.16 development environment, including gcc, g++, gdb,
valgrind, and all basic system tools. For the more adventurous,
buildroot, currently in CVS, is an automated tool for building a
uClibc development environment and bolting a UMLinux kernel on the
front. Bear in mind that buildroot is not for novices, and accounts for
at least 40% of the traffic on the list.

Whilst you could certainly replicate all of this using LFS as a base,
why bother? It you still want to do it, you might cull some advice from
the next sections.

(2) A complete Linux desktop system, for a fairly powerful machine.

uClibc is probably not what you want for this. Most importantly, it is
still under active development (read: showstopper bugs are sometimes
found), and is *not* binary compatible between releases (read: you have
to recompile everything with the new release); this will persist at
least until the introduction of a stable branch (1.0).

Also, uClibc would not give you optimal performance on such a machine,
being optimized for size at the expense of speed. 

You best bet for more information is the uClibc "Tip" on the LFS website
<link>. This is outdated, but should still give you an idea where to
start.

(3) A Linux system for a small machine (say <=Pentium 133, <=32MB RAM).

uClibc is ideal for this. Almost all text-based utilites work perfectly
(notably tcpdump, nmap, mutt, [e]links). X applications can be used, but
require more work, because they have many more library dependencies.
Probably your best line of approach is to forget LFS entirely, and build
system components as you need them, starting with util-linux, bash and
so on. Use something like TomsRBT to setup ext2 and swap partitions on
the target disk, put a statically linked busybox on your new root fs,
and move stuff on using floppies or netcat.

-- 
Bruce J.A. Nourish <kode187 at kode187.net>



More information about the uClibc mailing list