qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH RFC 00/10] docker on non-x86 hosts


From: Alex Bennée
Subject: Re: [Qemu-devel] [PATCH RFC 00/10] docker on non-x86 hosts
Date: Mon, 30 Jul 2018 09:21:10 +0100
User-agent: mu4e 1.1.0; emacs 26.1.50

Fam Zheng <address@hidden> writes:

> On Wed, 07/18 11:04, Alex Bennée wrote:
>> Hi,
>>
>> Our existing support for docker is fairly x86 centric. While docker
>> itself has support for multiple architectures not all architectures
>> are equal. For example Debian only packages the widest range of
>> cross-compilers in it's x86 images (although for example armhf is
>> available on aarch64 based images).
>>
>> As the binfmt support is getting more solid we always have that fall
>> back option and I've converted a number of the guests that way.
>> Unfortunately I've overloaded the meaning of DOCKER_PARTIAL_IMAGES but
>> I was loathed to throw in yet another magic variable without some
>> discussion first. I'm not sure if my current path will end up with a
>> maze of twisty if/else statements all subtly alike.
>
> Just my two cents.  So far it looks reasonable. Though I guess we could give
> DOCKER_PARTIAL_IMAGES a better name or at least better documentation.
>
> Would a per-arch variable list look cleaner? Like
>
>     DOCKER_IMAGES_GENERIC = debian
>     DOCKER_IMAGES_X86_64 = ubuntu fedora centos7
>     DOCKER_PARTIAL_IMAGES_X86_64 = ...
>     DOCKER_IMAGES_AARCH64 = ...
>     DOCKER_PARTIAL_IMAGES_AARCH64 = ...
>
> Then the actual host arch can be used to expand rules:
>
>     docker-all-images: $(DOCKER_IMAGES_GENERIC)
>     docker-all-images: $(DOCKER_IMAGES_$(shell uname -m | tr '[a-z]'
>     '[A-Z]))

That might work better... I'll give that a go on v2

>
> Fam
>
>>
>> Thoughts?
>>
>> Alex Bennée (10):
>>   docker: rename docker-amd64 to docker-host
>>   docker: change docker-image to docker-all-images target
>>   docker: add a placeholder for handling non-x86 hosts
>>   docker: don't include docker-arm64-cross on aarch64 hosts
>>   docker: fall-back to binfmt_misc debian-mips64el-user-cross on non-x86
>>   docker: fall-back to binfmt_misc debian-ppc64el-user-cross on non-x86
>>   docker: fall-back to binfmt_misc debian-s390x-user-cross on non-x86
>>   docker: disable additional non-x86 images
>>   tests: tcg skip docker images we can't build
>>   tests/tcg: debian-mips64el-user-cross fallback
>>
>>  Makefile                                      |  4 +-
>>  tests/docker/Makefile.include                 | 58 +++++++++++++++++--
>>  ...debian-amd64.docker => debian-host.docker} |  4 +-
>>  .../debian-mips64el-user-cross.docker         | 16 +++++
>>  .../debian-ppc64el-user-cross.docker          | 16 +++++
>>  .../debian-s390x-user-cross.docker            | 16 +++++
>>  tests/tcg/Makefile.include                    |  3 +
>>  tests/tcg/Makefile.probe                      |  2 +-
>>  tests/tcg/mips/Makefile.include               |  5 ++
>>  9 files changed, 116 insertions(+), 8 deletions(-)
>>  rename tests/docker/dockerfiles/{debian-amd64.docker => debian-host.docker} 
>> (91%)
>>  create mode 100644 
>> tests/docker/dockerfiles/debian-mips64el-user-cross.docker
>>  create mode 100644 tests/docker/dockerfiles/debian-ppc64el-user-cross.docker
>>  create mode 100644 tests/docker/dockerfiles/debian-s390x-user-cross.docker
>>
>> --
>> 2.17.1
>>


--
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]