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]

