From: "Alex Bennée" <alex.bennee@linaro.org>
To: Fam Zheng <famz@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH RFC v4 0/4] docker: Support building qemu-user powered docker test images
Date: Mon, 11 Jul 2016 10:09:24 +0100 [thread overview]
Message-ID: <87shvga6d7.fsf@linaro.org> (raw)
In-Reply-To: <1468207242-5015-1-git-send-email-famz@redhat.com>
Fam Zheng <famz@redhat.com> writes:
> Alex,
>
> This is the result of my fiddling around docker + qemu-user in the weekend. It
> can do most of the work except the injection of qemu-user binary from host
> build. We can try to integrate your "docker.py update" into Makefile to do
> that, but an open question is how to handle the dependency cleanly: we
> intentionally allow "make docker-foo" w/o configure or build, but the qemu-user
> case is very different.
I think it is certainly worth keeping the ability to inject qemu into
the docker container. While for a random build-on-other-arch type setup
we can rely on the docker distro's implementation for builds the other
use case is testing the current qemu still works for a linux-user type
setup.
> The major change is using "FROM debian" and build thing in the container so
> that qemu-arm, fakeroot and debootstrap are not required on the system (the
> docker file installs qemu-user-static). This way the pre script is not needed.
>
> The upside is debootstrap can make use of docker cache, so updating is easy,
> but we have to handle chroot in run script, before running the test
> command.
But really the native Debian host doesn't take the time to setup, it is
the debootstrap that chugs along. Until docker hub starts supporting multiple
architecture docker images (which I believe is coming) it doesn't make
much difference to the image build time.
> This seems cleaner in host side dependencies to me, what do you think?
I think we should support both. Keeping all the dependencies inside the
docker environment works really well for keeping everything host
distribution agnostic and is probably the way forward to support "cross"
build setups from the Makefiles.
One advantage of the pre script approach is we can have a generic recipe
for Debian which allows the user to spin up various architectures just
by tweaking the environment variables. And from my point of view one of
the drivers for my patches was being able to setup rootfs without
complicated bind mounts and chroots so I do like "docker run" dropping
directly into a translated shell.
Is there a similar boot strap we can use to setup cross fedora images?
Maybe we should merge the .py changes and your dockerfiles in
test/docker/dockerfiles and my general purpose (but requiring host
requirements) into contrib/docker?
>
> Fam
>
> Fam Zheng (4):
> docker: More sensible run script
> docker: Fix exit code if $CMD failed
> docker: Support "QEMU_CHROOT" in dockerfiles
> docker: Add debootstrap-arm image
>
> tests/docker/Makefile.include | 5 ++--
> tests/docker/dockerfiles/debootstrap-arm.docker | 35 +++++++++++++++++++++++++
> tests/docker/run | 28 +++++++++++++++++---
> 3 files changed, 62 insertions(+), 6 deletions(-)
> create mode 100644 tests/docker/dockerfiles/debootstrap-arm.docker
--
Alex Bennée
next prev parent reply other threads:[~2016-07-11 9:09 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-11 3:20 [Qemu-devel] [PATCH RFC v4 0/4] docker: Support building qemu-user powered docker test images Fam Zheng
2016-07-11 3:20 ` [Qemu-devel] [PATCH RFC v4 1/4] docker: More sensible run script Fam Zheng
2016-07-11 3:20 ` [Qemu-devel] [PATCH RFC v4 2/4] docker: Fix exit code if $CMD failed Fam Zheng
2016-07-11 12:58 ` Eric Blake
2016-07-11 3:20 ` [Qemu-devel] [PATCH RFC v4 3/4] docker: Support "QEMU_CHROOT" in dockerfiles Fam Zheng
2016-07-11 9:20 ` Paolo Bonzini
2016-07-11 10:08 ` Alex Bennée
2016-07-11 10:37 ` Paolo Bonzini
2016-07-11 11:31 ` Alex Bennée
2016-07-11 12:17 ` Alex Bennée
2016-07-11 3:20 ` [Qemu-devel] [PATCH RFC v4 4/4] docker: Add debootstrap-arm image Fam Zheng
2016-07-11 19:06 ` Alex Bennée
2016-07-12 1:40 ` Fam Zheng
2016-07-12 14:16 ` Alex Bennée
2016-07-11 9:09 ` Alex Bennée [this message]
2016-08-22 9:32 ` [Qemu-devel] [PATCH RFC v4 0/4] docker: Support building qemu-user powered docker test images no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87shvga6d7.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=famz@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).