[uClibc]Building uClibc for a stand-alone system.

Bruce J.A. Nourish kode187 at kode187.net
Fri Nov 15 23:34:58 UTC 2002


On Fri, Nov 15, 2002 at 02:09:17PM -0800, jeand at telusplanet.net wrote:
> > So, I've built a system based entirely on uClibc. It does not have a
> > compiler/binutils, but it does have the entire set of GNU {file,sh,
> > text,find,diff}utils, bash, util-linux, mutt, tcpdump, nmap, TinyX,
> > perl, elvis, xv, ImageMagick and much more. 
> 
> That's a good list of stuff.  I won't be needing TinyX or anything like that
> as I'm trying to build some SVGAlib stuff.  But that's promising.

Before I realized the existence of TinyX, I too worked on the plan of
using SVGAlib. I can confirm by experience that SVGAlib and seejpeg
work. Depending on your hardware, you might also consider the kernel
framebuffer device - not much new stuff seems to get written for
SVGAlib.

> > FWIW, I wouldn't use uClibc for a desktop. There's too much
> > heartache involved. I love small applications (my background is in
> > DOS assembler), but with RAM going $40 for 128MB, you can't justify
> > the time for the benefits. Maybe in 6 months it will be a different
> > story. 
> 
> It's not for a desktop.  Well, it is, but not really. 8-)  We're
> building a smart appliance and before we spend money on support
> contracts for embedded linux, I'm investigating whether we (my
> partners and I) have the know-how to do this on our own.  Right now,
> I'm trying to recreate the appliance environment on my desktop
> (actually, my laptop), so we can get an idea of what can be done and
> what can't be done.

Ahh. I jumped to the conclusion of a desktop because most people doing
embedded don't need all the baggage that comes with LFS. Your case is a
little different.

> I'm just hoping that someone has hints for when I get stuck.  I take
> it that you didn't actually build a uClibc-gcc.  So you used the
> toolchain to compile all of your required packages?  Why'd you choose
> to do that instead of the "normal" LFS route?

The Laptop in question is not up to to building LFS the traditional way.
It's a Pentium 75 with 40MB or RAM and 310MB of disk space (of which
only about 265 is available due to swap/etc). That's less than it takes
to build gcc, with _any_ libc. 

More importantly, I don't want all the stuff that comes with LFS. It
would be quicker to upload something to my Athlon, cross-compile it,
and download the binaries to the laptop, rather than compile _anything_
there. I have no use for a compiler, linker, lexical analyser, compiler
compiler etc: What I do want is stuff like networking tools, an email
client, web browser.

So I just grabbed a toolchain and freestyled, referring to LFS for
general advice. I made a bootdisk with static busybox/e2fsprogs/ 
pcmcia-cs, setup a partition, copied the bootdisk filesystem onto that
partition, and then started compiling those packages I thought would be
useful, overwriting the busybox symlinks in the process.

Before I pontificate further on method, I'm going to play with
buildroot. I've never tried it before (never had to), but it might do
what you want.
-- 
Bruce J.A. Nourish <kode187 at kode187.net>



More information about the uClibc mailing list