[BusyBox] Help! Booting NFS with ARM using shared libraries

B Jp lastjp_fr at yahoo.fr
Wed Dec 29 14:29:35 UTC 2004


Hi, 


I have just found this message and it is very
interesting for me since I have exactly the same
symptoms.

In my case, I cross compiled the glibc and busybox
without any problem to make it work on a arm plateform

But if I start busybox (1.00) in shared mode, I have a
kernel panic since it cannot find the libc library.
(everything seems to be fine when I use ldd on my libc
library and my ld-lib).
If i start in static mode everything is fine, but i am
not able to run everything as long as I do not set the
flag LD_LIBRARY_PATH to /lib


It seems to be a glibc problem with busybox but I am
not sure.

Any help? Please.
Thanks,

lastjp


Hi Erik,

Thank you for your quick reply!

I do have ld-XXX and libc-XXX sitting in my <nfs
root>/lib directory so I 
am not sure what goes wrong.  In the mean time, I do
have another question 
if you don't mind: 

If libc.so.6 is being loaded by ld-linux.so.2, who is
responsible to 
invoke ld-linux.so.2 in the first place?  Sorry for my
ignorance in this 
init and library loading process.

Regards,

Yuk-Wing Li





"Erik Andersen" <andersen at codepoet.org>
04/15/2003 02:19 PM
Please respond to andersen

 
        To:     yukwing.li at conexant.com
        cc:     busybox at busybox.net
        Subject:        Re: [BusyBox] Help! Booting
NFS with ARM using shared libraries


On Tue Apr 15, 2003 at 01:08:58PM -0700, yukwing.li at
conexant.com wrote:
> Hi Everyone,
> 
> I have been playing with busybox to do NFS boot for
a while.  I was able 

> to do it on my MIPS platform using shared libraries.
 However, when I 
> tried to do the same thing on my ARM's platform, I
got error message 
from 
> init saying "init: error while loading shared
libraries: libc.so.6: 
cannot 
> open shared object file".  If I build busybox with
the DOSTATIC flag on, 

> then the ARM platform will boot just fine.  Here are
my questions:

Looks like the shared lib loader is unable to locate
the glibc shared library....

> 1.  Can I assume there is nothing wrong with my
libraries since busybox 
> does work in static build?

Yes.

> 2.  If my libraries are OK, does that mean busybox
cannot find my lib, 
> which sits in <nfs root>/lib?
> 3.  Where does busybox look for shared libraries?

BusyBox does not look for shared libraries, that is
the shared
library loader's job.  The shared library loader for
glibc on arm
is the symlink /lib/ld-linux.so.2 (which should point
to
something like /lib/ld-2.3.1.so).  So at a minimum,
you will
need

    /lib/ld-linux.so.2 -> ld-<glibc version>.so
    /lib/ld-<glibc version>.so
    /lib/libc.so.6 -> libc-<glibc version>.so
    /lib/libc-<glibc version>.so

You will probably need to install additional
libraries....

 -Erik

--
Erik B. Andersen            
http://codepoet-consulting.com/
--This message was written using 73% post-consumer
electrons--






	

	
		
Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails ! 
Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com/



More information about the busybox mailing list