uClibc 0.9.19 with gcc 3.2.2

Rob Landley rob at landley.net
Sun Nov 20 06:34:33 UTC 2005


On Saturday 19 November 2005 13:21, Andrew Potter wrote:
> Hi,
>
>  I am new to the list and am trying to build a toolchain that will allow
> me to compile apps that will run on an Inventel DV-4210 Livebox ADSL
> Modem/Router. This router has a BCM6348 SOC that uses a MIPS32 core
> running in Big Endian mode and the fimrware has been built with the
> following,
>  Linux kernel 2.4.17
>  uClibc 0.9.19
>  Busybox 0.64
>  GCC 3.2.2
>
>  I do not have all the source code for this firmware,

Three GPL components and one LGPL and you don't have any source code?

> so upgrading to   the latest versions of the above is not really possible.

That's a pitty, because the uClibc you refer to is 9 versions out of date and 
has numerous known problems, long since fixed.  That far back it was really 
alpha-test software, not that close to release quality.  What we're working 
with right now is much more advanced, and close to (but not yet at) 1.0 with 
a stable API.

This also means that the current stuff is easier to work with.  The older 
stuff was a bit of a pain to make work at times.

>  Is there an easy way to build the toolchain for the above ?

A version that old still used the wrapper script to build stuff, not a 
dedicated toolchain.  (It should be in the source tarball.)

>  I have tried to use the latestet buildroot and change the options for
> gcc, kernel and uClibc but it then falls over in numerous places.

Yeah.  It's nine releases out of date.  The way uClibc is configured has 
changed.  The way stuff is built against it has changed...

>  Any thoughts or suggestions ?

This probably falls under the realm of "consulting services", I'm afraid.  
There are numerous people you could give money to to make this work for you.  
(Glenn probably has the time.)

Not much in it for the volunteers, I'm afraid.  We've done two years of work 
since then, and then answer to most problems you're going to have is "we 
already fixed that".  You have the source, you have the mailing list 
archives, and we might answer _specific_ questions...

Keep in mind the time scale here.  Asking about a 2 year old linux kernel, 
you're inquiring about year 12 of a 14 year old project.  On a fundamental 
structural level it's pretty much the same, they'll answer questions 3, 4, 
even 5 years back if you ask nicely.  But asking about a 2 year old uClibc, 
you're asking about year 2 of a 4 year old project.  The big release where 
everything finally fit together properly was 0.9.26.  Before that stuff is 
noticeably different, and that's why it was moved to an old-releases 
directory and we don't recommend anybody use it anymore because it was full 
of stop-gaps and duct tape.

The only reason we haven't called a recent release "1.0" is that would commit 
us to not changing the API anymore, and there's still a couple pending to-do 
items in that area.  (But it's been discussed.  In a way, 0.9.26 was our 1.0, 
albeit with all the negative connotations usually associated with a 1.0 
release, hence .27 and .28 which are actually pretty good.)

> Thanks
>
>  AndyP

Rob



More information about the uClibc mailing list