From: Jing Huang <jing.huang.pku@gmail.com>
To: Luca Barbato <lu_zero@gentoo.org>
Cc: gentoo-soc@lists.gentoo.org
Subject: [gentoo-soc] Re: cross_container_support - progress report #9
Date: Thu, 2 Aug 2012 15:23:54 +0000 [thread overview]
Message-ID: <CAK8mDgqSnJ5ZbB4odYEzY3oYQXBBRYhH7_EtDxVAcTTCRw6GXw@mail.gmail.com> (raw)
In-Reply-To: <CAK8mDgoOPS_0iMbNN6diPW4mwdtqA++NbHvQA6YeFr-KtRqPAA@mail.gmail.com>
On Wed, Aug 1, 2012 at 5:01 PM, Jing Huang <jing.huang.pku@gmail.com> wrote:
> On Tue, Jul 31, 2012 at 7:30 PM, Luca Barbato <lu_zero@gentoo.org> wrote:
>> On 07/31/2012 05:45 PM, Jing Huang wrote:
>>> Hi,
>>>
>>> == Progress of last Week ==
>>>
>>> In the last week, my qemu-linux patches had been reviewed by the qemu
>>> community.
>>>
>>> I investigated how to config dynamic libraries in lxc container.:
>>>
>>> 1. mount host's /lib /usr/lib /usr/local/lib to lxc container
>>>
>>> 2. modify lxc container's ld.so.conf to link these libs.
>>>
>>> 3. ldconfig -Nf /etc/ld.so.conf to make settings available. (The
>>> ld.so.cache will include arm libraries by default. How to ignore
>>> them?)
>>>
>>> I am still debugging this method.
>>>
>>> Additionally, I found I must execute "qemu-static-i386 x86-program"
>>> in lxc container to make it run. Is it right?
>>
>> No it is wrong, you should call the runtime linker.
>
> When I execute x86-program(builded with dynamic libraries) in lxc
> container, it shows:
> "bash: x86-program: No such file or directory"
>
> Obviously, the container has not called the right dynamic
> linker(ld-linux.so) to interpret the x86-program.
> Maybe I could register this linker or the linker wrap to
> /proc/sys/fs/binfmt_misc ?
Hmm.. The root cause of this fault is:
./x86-program(built with dynamic libraries)
-->load_elf_binary()
-->open_exec("/lib/ld-linux.so.2");
lxc chroot lacks of /lib/ld-linux.so.2. This problem is a difficult
one. In my opinion, the following two steps are essential to solve it.
1. alter linker script to build x86-program using custom ld-linux.so.2
path ( /target/lib/ld-linux.so.2 ).
2. switch dynamic libraries to custom paths.
This point is relatively easy. I could use either LD_LIBRARY_PATH or
ld.so.conf.
"ldconfig /etc/ld.so.conf" is odd. I had altered ld.so.conf and
env.d/00basic to exclude original library path(/lib, /usr/lib,
/usr/local/lib), but the new generated cache file still include these
paths.
Unfortunately, linker will link libraries accroding to the ld cache
file unless declare the DT_RPATH and LD_LIBRARY_PATH.
>
>>
>>> == Plans for this week ==
>>>
>>> 1. Still investigate dynamic libraries configure.
>>
>> It will take probably more time.
>>
>>> 2. wait for vapier's help. If it is possible, would you offer me the
>>> rough tech roadmap of patching crossdev and/or the toolchain eclass
>>> you mentioned last letter?
>>
>> First let's try to wrap up what we have now available and get more
>> people trying it =) That means document all the steps in the wiki and
>> get voluteers to try them.
>
> OK. I am doing it.
>
>>
>> lu
>>
>> --
>>
>> Luca Barbato
>> Gentoo/linux
>> http://dev.gentoo.org/~lu_zero
>>
next prev parent reply other threads:[~2012-08-02 18:08 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-31 15:45 [gentoo-soc] cross_container_support - progress report #9 Jing Huang
2012-07-31 19:30 ` [gentoo-soc] " Luca Barbato
2012-08-01 17:01 ` Jing Huang
2012-08-02 15:23 ` Jing Huang [this message]
2012-08-02 16:14 ` Luca Barbato
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAK8mDgqSnJ5ZbB4odYEzY3oYQXBBRYhH7_EtDxVAcTTCRw6GXw@mail.gmail.com \
--to=jing.huang.pku@gmail.com \
--cc=gentoo-soc@lists.gentoo.org \
--cc=lu_zero@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox