Debian Bug report logs -
#384338
qemu: please build static variants for use inside chroots
Reported by: Simon Richter <sjr@debian.org>
Date: Wed, 23 Aug 2006 16:03:13 UTC
Severity: wishlist
Found in versions qemu/0.8.1-1, qemu/0.8.2-1
Fixed in version 0.10.0-1
Done: Aurelien Jarno <aurelien@aurel32.net>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(full text, mbox, link).
Acknowledgement sent to Simon Richter <sjr@debian.org>:
New Bug report received and forwarded. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: qemu
Version: 0.8.1-1
Severity: wishlist
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
occasionally, I would like to chroot (or use vserver) to go into an
installation for another architecture. Obviously, this brings the binfmt
interpreter out of the namespace. It would be nice if there were a
package, say, "qemu-from-powerpc" for each architecture that contained a
statically linked powerpc qemu binary that emulated that particular
architecture it was installed on; that interpreter would have to be in
the place expected by the binfmt handler.
This is probably, erm, interesting to add to the build system as you
would essentially create a lot of packages for different architectures
on each architecture. :-P
Simon
- -- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: powerpc (ppc)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-1-powerpc
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Versions of packages qemu depends on:
ii bochsbios 2.2.6-2 BIOS for the Bochs emulator
ii libasound2 1.0.11-7 ALSA library
ii libc6 2.3.6.ds1-2 GNU C Library: Shared libraries
ii libsdl1.2debian 1.2.11-3 Simple DirectMedia Layer
ii openhackware 0.4.1-2 OpenFirmware emulator for PowerPC
ii proll 18-2 JavaStation PROM 2.x compatible re
ii vgabios 0.5d-1 VGA BIOS software for the Bochs an
ii zlib1g 1:1.2.3-13 compression library - runtime
Versions of packages qemu recommends:
ii debootstrap 0.3.3 Bootstrap a basic Debian system
ii sharutils 1:4.2.1-15 shar, unshar, uuencode, uudecode
- -- no debconf information
Information forwarded to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(full text, mbox, link).
Acknowledgement sent to "Anderson Lizardo" <anderson.lizardo@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #10 received at 384338@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Package: qemu
Version: 0.8.2-1
Severity: normal
Tags: patch
This patch adds a "qemu-user-static" package containing statically
linked versions of all QEMU user emulators. For instance, the current
version install these binaries:
/usr/bin/qemu-i386-static
/usr/bin/qemu-mips-static
/usr/bin/qemu-mipsel-static
/usr/bin/qemu-sparc-static
/usr/bin/qemu-arm-static
/usr/bin/qemu-armeb-static
/usr/bin/qemu-ppc-static
See also bug #306637 for a companion patch that adds the binfmt
mechanism. I'll also shortly update
http://wiki.debian.org/QemuUserEmulation with these patches.
Note: this patch depends on #390166 being applied. It also contains a
small workaround (commented out line in Makefile.target) that allows
the static binaries to compile properly with a recent toolchain. I
could only test it on Ubuntu Edgy, so It would be nice if someone
could test it with/without the workaround on Debian, and report any
problems.
Changelog:
* New package: qemu-user-static.
- Add workaround for static build bug.
--
Anderson Lizardo
[qemu_0.8.2-1_user_static.patch (text/x-patch, attachment)]
Information forwarded to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(full text, mbox, link).
Message #15 received at 384338@bugs.debian.org (full text, mbox, reply):
Can't you use the chroot command from your jail instead ?
$ sudo qemu-i386 /srv/chroot/i386/lib/ld-linux.so.2 /srv/chroot/i386/usr/sbin/chroot /srv/chroot/i386/ su -
--
Robert Millan
My spam trap is honeypot@aybabtu.com. Note: this address is only intended
for spam harvesters. Writing to it will get you added to my black list.
Information forwarded to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(full text, mbox, link).
Acknowledgement sent to Simon Richter <sjr@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #20 received at 384338@bugs.debian.org (full text, mbox, reply):
Hi,
Robert Millan wrote:
> Can't you use the chroot command from your jail instead ?
> $ sudo qemu-i386 /srv/chroot/i386/lib/ld-linux.so.2 /srv/chroot/i386/usr/sbin/chroot /srv/chroot/i386/ su -
Yes, that works, however having this feature inside qemu makes life a
lot easier when testing installations for embedded systems that are not
supposed to have a chroot command.
Right now all that is needed inside the tree for the embedded system is
a statically linked qemu to handle commands spawned by the emulated
process, and a working chroot command for the target. I'm working on
another patch that will allow qemu to handle execve() internally by
overwriting the current context, however getting that stable has shown
to be more difficult than I thought.
Simon
Information forwarded to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(full text, mbox, link).
Acknowledgement sent to Javier Serrano Polo <jasp00@terra.es>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #25 received at 384338@bugs.debian.org (full text, mbox, reply):
You don't need static variants.
I'm bootstrapping a ppc chroot on amd64 with binfmt-support and normal
qemu. The command
chroot ppc-linux/ date
just prints the date.
Information forwarded to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(full text, mbox, link).
Acknowledgement sent to Simon Richter <sjr@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #30 received at 384338@bugs.debian.org (full text, mbox, reply):
Hi,
Javier Serrano Polo wrote:
> You don't need static variants.
> I'm bootstrapping a ppc chroot on amd64 with binfmt-support and normal
> qemu.
How does this work? The kernel needs to load qemu from inside the chroot
at this point, including all of the libraries, so these need to be
installed into the chroot -- hence my request to have a static build so
I only need to install (and keep track of) a single file whose name I
can also choose (as opposed to libraries' names) so I can avoid
conflicts with the actual chroot.
Simon
Information forwarded to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(full text, mbox, link).
Acknowledgement sent to Stuart Anderson <anderson@netsweng.com>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #35 received at 384338@bugs.debian.org (full text, mbox, reply):
On Thu, 20 Mar 2008, Simon Richter wrote:
> Hi,
>
> Javier Serrano Polo wrote:
>
>> You don't need static variants.
>> I'm bootstrapping a ppc chroot on amd64 with binfmt-support and normal
>> qemu.
>
> How does this work? The kernel needs to load qemu from inside the chroot
> at this point, including all of the libraries, so these need to be
> installed into the chroot -- hence my request to have a static build so
> I only need to install (and keep track of) a single file whose name I
> can also choose (as opposed to libraries' names) so I can avoid
> conflicts with the actual chroot.
This is correct. Static linking is needed in some cases. There are certain
combinations of host and target where things like /lib/ld-linux.so.2
collide and thus you can't have both the host & target versions in the
chroot at the same time.
Stuart
Stuart R. Anderson anderson@netsweng.com
Network & Software Engineering http://www.netsweng.com/
1024D/37A79149: 0791 D3B8 9A4C 2CDC A31F
BD03 0A62 E534 37A7 9149
Information forwarded to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(full text, mbox, link).
Acknowledgement sent to Javier Serrano Polo <jasp00@terra.es>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #40 received at 384338@bugs.debian.org (full text, mbox, reply):
El dj 20 de 03 del 2008 a les 16:58 +0100, en/na Simon Richter va
escriure:
> How does this work?
It uses the multiarch loading capabilities, the same principle that
allows running foreign executables outside the chroot. Thus static
linking is unnecessary, even more when the multiarch framework gets
polished. The same goes for the combinations where the linker name
collides, it's linker's job.
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(Mon, 20 Jul 2009 16:03:05 GMT) (full text, mbox, link).
Acknowledgement sent
to Vagrant Cascadian <vagrant@freegeek.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Mon, 20 Jul 2009 16:03:05 GMT) (full text, mbox, link).
Message #45 received at 384338@bugs.debian.org (full text, mbox, reply):
i've managed to use the packages from here:
https://wiki.ubuntu.com/ARM/BuildEABIChroot
to build an armel chroot on i386, using debootstrap's --foreign/--second-stage
options, which was pretty slick. chrooting into it also worked like a charm.
there's also a bug on ubuntu to possibly include it all in future versions:
https://bugs.launchpad.net/debian/+source/qemu/+bug/401782
is that a good starting point to move towards resolving these bugs?
live well,
vagrant
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(Tue, 21 Jul 2009 10:27:14 GMT) (full text, mbox, link).
Acknowledgement sent
to Aurelien Jarno <aurelien@aurel32.net>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Tue, 21 Jul 2009 10:27:14 GMT) (full text, mbox, link).
Message #50 received at 384338@bugs.debian.org (full text, mbox, reply):
Vagrant Cascadian a écrit :
> i've managed to use the packages from here:
>
> https://wiki.ubuntu.com/ARM/BuildEABIChroot
>
> to build an armel chroot on i386, using debootstrap's --foreign/--second-stage
> options, which was pretty slick. chrooting into it also worked like a charm.
>
> there's also a bug on ubuntu to possibly include it all in future versions:
>
> https://bugs.launchpad.net/debian/+source/qemu/+bug/401782
>
> is that a good starting point to move towards resolving these bugs?
>
qemu 0.11.x includes a lot of new features to support chroot. I think
they should be able to solve this bug.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
Blocking bugs of 480664 added: 384338
Request was from Vagrant Cascadian <vagrant@freegeek.org>
to control@bugs.debian.org.
(Tue, 21 Jul 2009 21:33:07 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(Tue, 25 Aug 2009 18:57:10 GMT) (full text, mbox, link).
Acknowledgement sent
to "W. Martin Borgert" <debacle@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Tue, 25 Aug 2009 18:57:10 GMT) (full text, mbox, link).
Message #57 received at 384338@bugs.debian.org (full text, mbox, reply):
I use the qemu-arm-static 0.11.0~rc1 package from here:
http://archive.ubuntu.com/ubuntu/pool/universe/q/qemu-kvm/
under Debian sid and it seems to work fine. I used the
binary i386 package and did not compile myself, ouch :~)
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(Sun, 13 Sep 2009 22:39:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Vagrant Cascadian <vagrant+debianbugs@freegeek.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Sun, 13 Sep 2009 22:39:03 GMT) (full text, mbox, link).
Message #62 received at 384338@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Package: qemu
Followup-For: Bug #384338
the attached patch should at least provide a proof of concept for how to build
static variants of the userspace emulators in the qemu package, if a bit crude.
essentially, it copies the source directory to a subdir of debian, runs
configure with different options, and then copies the binaries as appropriate
into the package dir.
i only built a static variant for qemu-arm as i know that version is likely to
work for cross-architecture chrooting, but the concept should work for other
variants as well.
live well,
vagrant
[qemu-arm-static.diff (text/x-diff, attachment)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(Mon, 14 Sep 2009 17:45:02 GMT) (full text, mbox, link).
Acknowledgement sent
to Vagrant Cascadian <vagrant@freegeek.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Mon, 14 Sep 2009 17:45:03 GMT) (full text, mbox, link).
Message #67 received at 384338@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
On Sun, Sep 13, 2009 at 03:32:20PM -0700, Vagrant Cascadian wrote:
> i only built a static variant for qemu-arm as i know that version is likely to
> work for cross-architecture chrooting, but the concept should work for other
> variants as well.
attached is an updated patch which builds a static version of all variants, at
least on linux.
live well,
vagrant
[qemu-static.diff (text/x-diff, attachment)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(Tue, 15 Sep 2009 14:15:20 GMT) (full text, mbox, link).
Acknowledgement sent
to Aurelien Jarno <aurelien@aurel32.net>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Tue, 15 Sep 2009 14:15:20 GMT) (full text, mbox, link).
Message #72 received at 384338@bugs.debian.org (full text, mbox, reply):
On Mon, Sep 14, 2009 at 10:23:32AM -0700, Vagrant Cascadian wrote:
> On Sun, Sep 13, 2009 at 03:32:20PM -0700, Vagrant Cascadian wrote:
> > i only built a static variant for qemu-arm as i know that version is likely to
> > work for cross-architecture chrooting, but the concept should work for other
> > variants as well.
>
> attached is an updated patch which builds a static version of all variants, at
> least on linux.
>
I have looked quickly at the patch, I am not sure we need to copy the
sources. AFAIK, qemu support out of tree building, so we can do:
mkdir build-static
cd build-static && ../configure --options
$(MAKE) -C debian/static-build
The same can be done for the main build, which also simplify the clean target.
Also given static binaries are huge, I do wonder if we shouldn't put the
static version in a separate package. This is maybe the time to rework a
bit the packaging. Maybe something like the following:
- qemu-user: all dynamically linked qemu-user binaries
- qemu-user-static: all statically linked qemu-user binaries
- qemu-system: all qemu-system binaries
- qemu: meta package depending on qemu-system, qemu-user and maybe
qemu-user-static (Recommends:? Suggests: ?).
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(Wed, 16 Sep 2009 09:18:09 GMT) (full text, mbox, link).
Acknowledgement sent
to Vagrant Cascadian <vagrant@freegeek.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Wed, 16 Sep 2009 09:18:09 GMT) (full text, mbox, link).
Message #77 received at 384338@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
On Tue, Sep 15, 2009 at 04:00:00PM +0200, Aurelien Jarno wrote:
> On Mon, Sep 14, 2009 at 10:23:32AM -0700, Vagrant Cascadian wrote:
> > attached is an updated patch which builds a static version of all variants, at
> > least on linux.
>
> I have looked quickly at the patch, I am not sure we need to copy the
> sources. AFAIK, qemu support out of tree building, so we can do:
>
> mkdir build-static
> cd build-static && ../configure --options
> $(MAKE) -C debian/static-build
>
> The same can be done for the main build, which also simplify the clean target.
>
> Also given static binaries are huge, I do wonder if we shouldn't put the
> static version in a separate package. This is maybe the time to rework a
> bit the packaging. Maybe something like the following:
> - qemu-user: all dynamically linked qemu-user binaries
> - qemu-user-static: all statically linked qemu-user binaries
> - qemu-system: all qemu-system binaries
> - qemu: meta package depending on qemu-system, qemu-user and maybe
> qemu-user-static (Recommends:? Suggests: ?).
attached is a patch against qemu from experimental for an updated debian/rules
to build qemu-user, qemu-user-static and qemu-system, using out of tree builds.
it's still got some rough edges.
to get the pc-bios working, it still required a ordinary ./configure run; i
couldn't figure out how to get it to work with the out-of-tree builds.
it also manually installs the qemu-user binaries, instead of using "make
install", which installed keymap and other files also present in the
qemu-system package. i'm thinking those are only needed for the qemu-system
package anyways.
i'm not sure which of the packages should install the libqemu.a file(s), or
other .a files. some have the same filenames.
seems to work, though. :)
live well,
vagrant
[qemu-static-outoftree.diff (text/x-diff, attachment)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#384338; Package qemu.
(Thu, 17 Sep 2009 09:30:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Vagrant Cascadian <vagrant@freegeek.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Thu, 17 Sep 2009 09:30:03 GMT) (full text, mbox, link).
Message #82 received at 384338@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
On Wed, Sep 16, 2009 at 02:11:21AM -0700, Vagrant Cascadian wrote:
> attached is a patch against qemu from experimental for an updated debian/rules
> to build qemu-user, qemu-user-static and qemu-system, using out of tree builds.
and another update to debian/rules... dare i say, this patch might be ready.
it does use some debhelper 7 features to keep some targets brief, although i
don't think it changes the rules much. if desired, i can revert those changes
if needed and do it the old fashioned way.
> it's still got some rough edges.
>
> to get the pc-bios working, it still required a ordinary ./configure run; i
> couldn't figure out how to get it to work with the out-of-tree builds.
figured out a way to do this, by copying a few files around. i think this is
due to using configure's --disable-blobs (since most are not distributable in
debian).
> it also manually installs the qemu-user binaries, instead of using "make
> install", which installed keymap and other files also present in the
> qemu-system package. i'm thinking those are only needed for the qemu-system
> package anyways.
switched to using "make install" and just removing the keymaps before the
package is built.
> i'm not sure which of the packages should install the libqemu.a file(s), or
> other .a files. some have the same filenames.
still clueless on this.
live well,
vagrant
[qemu-static-multi.diff (text/x-diff, attachment)]
Reply sent
to Aurelien Jarno <aurelien@aurel32.net>:
You have taken responsibility.
(Sat, 21 Nov 2009 00:51:03 GMT) (full text, mbox, link).
Notification sent
to Simon Richter <sjr@debian.org>:
Bug acknowledged by developer.
(Sat, 21 Nov 2009 00:51:03 GMT) (full text, mbox, link).
Message #87 received at 384338-done@bugs.debian.org (full text, mbox, reply):
Version: 0.10.0-1
On Wed, Aug 23, 2006 at 05:47:12PM +0200, Simon Richter wrote:
> Package: qemu
> Version: 0.8.1-1
> Severity: wishlist
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello,
>
> occasionally, I would like to chroot (or use vserver) to go into an
> installation for another architecture. Obviously, this brings the binfmt
> interpreter out of the namespace. It would be nice if there were a
> package, say, "qemu-from-powerpc" for each architecture that contained a
> statically linked powerpc qemu binary that emulated that particular
> architecture it was installed on; that interpreter would have to be in
> the place expected by the binfmt handler.
>
Static version of qemu-user binaries is now provided in the
qemu-user-static
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Sat, 19 Dec 2009 07:28:57 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Thu Jan 11 06:27:45 2024;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.