[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: foreign rootfs without root priviliges with multistrap, fakeroot, fakechroot and qemu user emulation



Hi,

On Thu, Jun 23, 2011 at 07:05:07AM +0200, Stappers wrote:
> On Thu, Jun 23, 2011 at 01:02:12AM +0200, Johannes Schauer wrote:
> > Your problem is just as it says: you dont have /lib/ld-linux.so.3 :)
> | $ apt-file search /lib/ld-linux.so.3
> | $ apt-file search /lib/ld-linux.so
> | systemimager-boot-i386-standard: /usr/share/systemimager/boot/i386/standard/initrd_template/lib/ld-linux.so.1
> | systemimager-boot-i386-standard: /usr/share/systemimager/boot/i386/standard/initrd_template/lib/ld-linux.so.2
> The /lib/ld-linux.so is in the package systemimager-boot-i386-standard

No, no - it only *searches* in /lib/ for ld-linux.so.3 because on armel
it is ld-linux.so.3 and not ld-linux-x86-64.so.2 as on amd64 or
ld-linux.so.2 as it is named on i386 (and others). Because your host is
not armel, apt-file does not find it. If you search on
packages.debian.org you will find that on armel there exist
/lib/ld-linux.so.3 - indeed it is a symbolic link to
/lib/arm-linux-gnueabi/ld-2.13.so because of multiarch.  Sorry that I
was misleading in what I said.

> > Indeed what you are missing is a collection of foreign shared
> > libraries in /etc/qemu-binfmt/arm/
> | $ apt-file search /etc/qemu-binfmt/arm/
> | $ apt-file search /etc/qemu-binfmt/arm
> I couldn't find which package provides /etc/qemu-binfmt/arm
Because there is no package that provides /etc/qemu-binfmt/arm. You have
to put whatever you need there manually as explained below:

> > I use the attached multistrap config to create a directory tree that
> > I can put there and that will let me execute dynamically compiled
> > armel binaries.
Use this to produce a directory tree of shared libraries you put in
/etc/qemu-binfmt/arm/.

Hopefully multiarch will soon allow to directly install everything in
/lib/arm-linux-gnueabi/.

cheers, josch


Reply to: