Package: qemu
Version: 0.14.0+dfsg-5.1
Severity: wishlist

Using qemu-user-static, it is possible to build a whole foreign debian rootfs.

With the help of fakeroot and fakechroot this is even possible without
having to resort to becoming the superuser.

To execute foreign binaries, shared libraries in /etc/qemu-binfmt are
necessary.

A problem is that, one has to change those libraries according to what
binaries one is executing: for example the debian architectures arm,
armel and armhf are all using the /etc/qemu-binfmt/arm directory for
shared libraries but they require different library versions (arm,
armel, armhf) according to what code is executed. Changing those
libraries to whatever one wants to execute is cumbersome and requires
superuser permissions and by that obliterating above advantage.

One could supply the -L parameter to supply a custom elf interpreter
prefix but during the creation of a rootfs, qemu-user-static binaries
are called in a transparent manner by the binfmt mechanism. This makes
it impossible to hand over commandline options to qemu-user-static.

Adding support of an environment variable to specify the elf interpreter
prefix would solve all above issues.

Even more so, during the creation of a foreign rootfs, the fitting
libraries would already have been unpacked before any binary needs to be
executed.

This is how it would ideally look like for an armel rootfs:

export QEMU_LD_PREFIX=/tmp/debian-sid-armel/
fakeroot fakechroot chroot /tmp/debian-armel/ dpkg --configure -a

I hope it is clear what I tried to point out :)

cheers, josch



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to