Problems dynamically linking busybox with ppc libs.
keith.redfern at uk.flextronics.com
Thu Aug 17 21:29:33 EST 2006
I have just realised that I was barking up the wrong tree in regard to
My problem turned out not to be a issue with compiling/linking Busybox
but that my target was using different libraries to what was specified
in my ELDK. I am a newbie to embedded Linux and now understand that this
is a fundamental step in getting a working system.
My confusion came about as my ELDK is not a standard ELDK but came as a
BSP from Embedded Planet 852T. Embedded Planet supply a pre-formed
ramdisk image with libraries, Busybox executable, initialisation scripts
Any executables supplied in this pre-formed ram disk worked fine. An
initial test of the system showed that Busybox worked fine.
They have scripts that reverse engineer this to a folder and suggest
just making additions/modifications to this folder and then run another
script to create a new RAM disk image.
I didn't see Busybox packaged with the BSP so I downloaded v1.1.3 from
the web and started working with it, using the ELDK to build. After this
it didn't work. I have now figured out that any new executables built
using the ELDK don't work as they are referencing different versions of
the libraries. The pre-formed busybox worked fine as it was built
referencing the libraries in the also pre-formed library directory.
I don't know why Embedded Planet would have different library versions
in the pre-formed library directory and the ELDK! Maybe there to trick
Doing a standard Busybox 'make' with no modifications to the make files
and aligning the target libraries with that provided as part of the ELDK
solved the problem.
Thanks for help on this ......... Keith.
From: Wolfgang Denk [mailto:wd at denx.de]
Sent: 17 August 2006 10:48
To: Keith Redfern
Cc: linuxppc-embedded at ozlabs.org
Subject: Re: Problems dynamically linking busybox with ppc libs.
<367F3B3911959C4DA9991C00166F620C1DE208 at EUDUCEX2.europe.ad.flextronics.c
om> you wrote:
> I am trying to dynamically link busybox with the correct libraries
> run into problems with directory paths and CC/LD flags.
Maybe you do too much?
> I am using the toolchain supplied with ELDK and my target board is
> ppc_8xx based. The busybox version that I am using is 1.1.3.
> I see the following in Rules.mak and have been trying different
> options but with no success.
You are not supposed to meddle with Rules.mk. Also, this is not
necessary at all.
> Is this the correct place to make modifications?
No. No modifications are necessary.
Just run a standard configuration and make sure to select cross
compilation with "ppc_8xx-" as Cross Compiler prefix, i. e.:
-> cd /tmp
-> wget http://busybox.net/downloads/busybox-1.1.3.tar.bz2
-> tar jxf busybox-1.1.3.tar.bz2
-> cd busybox-1.1.3
-> export CROSS_COMPILE=ppc_8xx-
-> make config
* Build Options
Do you want to build BusyBox with a Cross Compiler?
(USING_CROSS_COMPILER) [N/y/?] (NEW) y
Cross Compiler prefix (CROSS_COMPILER_PREFIX)
[/usr/i386-linux-uclibc/bin/i386-uclibc-] (NEW) ppc_8xx-
Any extra CFLAGS options for the compiler? (EXTRA_CFLAGS_OPTIONS) 
This is so straightforward that I wonder what you moight have done to
run into problems...
> Has anyone already figured the changes required to get this to work
> ELDK toolchain?
Yes. And if had bothered to check how the busybox RPM was build which
comes included with the ELDK (for example by looking at it's spec
file), then you should have known, too.
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Our business is run on trust. We trust you will pay in advance.
The information contained in this message may be privileged and confidential. It is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. If you have received this message in error, please immediately notify the sender and delete or destroy any copy of this message
More information about the Linuxppc-embedded