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

Re: FWIW debian/qemu-user-static.README.Debian



Hi,

On Thu, Jun 30, 2011 at 11:33:27PM +0200, Marcus Osdoba wrote:
> Am I missing something? That was already done in polystrap:
> <36073d0c9a389048a7f6a4cd4e9cd28ed1bc32a9>
> # copy qemu usermode binary
> if [ $ARCH != "`dpkg --print-architecture`" ]; then
>         case $ARCH in
> 
> alpha|arm|armeb|i386|m68k|mips|mipsel|ppc64|sh4|sh4eb|sparc|sparc64)
>                 cp `which qemu-$ARCH-static` $ROOTDIR/usr/bin;;
>                 amd64) cp `which qemu-x86_64-static` $ROOTDIR/usr/bin;;
>                 armel) cp `which qemu-arm-static` $ROOTDIR/usr/bin;;
>                 lpia) cp `which qemu-i386-static` $ROOTDIR/usr/bin;;
>                 powerpc) cp `which qemu-ppc-static` $ROOTDIR/usr/bin;;
>                 *) echo "unknown architecture: $ARCH"; exit 1;;
>         esac
> fi
> </36073d0c9a389048a7f6a4cd4e9cd28ed1bc32a9>
> 
> I do this to in my multistrap wrapper, but it needs super user
> rights to get it work. I think, polystraps goal was to run in user
> space.
Just copying the qemu-user-static binary that matches the architecture
of the root file system does not require superuser rights, but executing
chroot to make it work does. Polystrap is supposed to run without
superuser rights and therefor uses fakeroot/fakechroot.

By a mistake of mine the piece of code you quoted above was still in the
polystrap code until yesterday when I removed it. It is some old cruft
that was still inside there from the times when I used a real superuser
chroot call to configure my rootfs. I have no idea how that piece of
code survived that long but since yesterday it is gone for good now.

With fakechroot, it will always be the host system's qemu-user-static
binary that will be called.

I wrote a tiny patch to supply the suggested functionality to qemu and
my system is since busy compiling the debian package. Will upload the
patch once it works.

cheers, josch


Reply to: