[uClibc] A simple uClibc-based system with an old linux kernel?

Thomas Huld thomas.huld at jrc.it
Fri Jul 25 07:19:54 UTC 2003


Ciao Tutti,

Is there any way of making the uClibc development system (compiled with 
buildroot) work to produce binaries that will work under an older linux 
kernel (2.0.3x)?

I would like to run such a system on a modern linux machine (2.4.21), but 
using it to produce a small system with uClibc, busybox and tinylogin running 
under an old kernel (to save space).

I've tried but I have run into problems. An out-of-the-box development system 
(the downloadable root_fs-i386) produces binaries that don't run at all under 
linux 2.0.34 (it complains about getcwd() not being implemented).

I then tried to substitute all the linux includes in the /usr/include 
subdirectories with the include files from the 2.0.34 kernel. After a bit of 
tweaking I could get uClibc, busybox and tinylogin to compile. Then I can 
actually boot the old linux system and some things work. 

BUT: the system is somewhat rickety. For instance: when busybox is called with 
a not-implemented applet name it exits with the error message, but this 
causes the underlying (busybox) ash shell to crash as well! I've narrowed the 
problem down to a call to the builtin va_end. Does this mean that it is the 
compiler that produces code not compatible with linux-2.0.34?

I tried to build the toolchain with the older gcc-2.95.x, but the result was 
the same.

In short: HELP!! I would really like to build a very small system based on 
uClibc and a kernel that doesn't take up too much space. Can it be done in 
this way? Do I need an even older gcc or something?

Alternatively, (this is getting off-topic): does anybody have a link to 
information about how to pare down a 2.4 kernel to the absolute minimum?

TIA

Thomas

--------------------------------------------------
Thomas  Huld 
Joint Research Centre of the European Commission
T.P. 450
I-21023 Ispra, Italy
phone: +39 0332785273
e-mail: Thomas.Huld at jrc.it
--------------------------------------------------





More information about the uClibc mailing list