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

tom at ceisystems.com tom at ceisystems.com
Fri Jul 25 15:56:10 UTC 2003


Thomas,

	There is no longer any support for the 2.0.xx kernel series.
Your best bet would be to move to a supported kernel, rather than try to
work things back to a point where they operate with that series.
Addtionally, there have been many improvements made in the kernel since
the 2.0.xx series, so it makes sense to leave it behind anyway.

Thomas Cameron
CEI Systems, Inc.


-----Original Message-----
From: Thomas Huld [mailto:thomas.huld at jrc.it] 
Sent: Friday, July 25, 2003 3:20 AM
To: uclibc at uclibc.org
Subject: [uClibc] A simple uClibc-based system with an old linux kernel?


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
--------------------------------------------------


_______________________________________________
uClibc mailing list
uClibc at uclibc.org
http://uclibc.org/mailman/listinfo/uclibc



More information about the uClibc mailing list