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

yukwing.li at conexant.com yukwing.li at conexant.com
Thu Apr 17 00:27:51 UTC 2003


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



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://codepoet.org/lists/busybox/attachments/20030416/318eb493/attachment.htm


More information about the busybox mailing list