From 81d17a19c48724368bde8b6d63edb17f2ee4b6c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20W=C3=BCrbach?= Date: Sat, 22 Dec 2018 15:12:32 +0100 Subject: [PATCH 1/2] Add s390x support to binfmt_misc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Johannes Würbach --- pkg/binfmt/Dockerfile | 3 ++- pkg/binfmt/etc/binfmt.d/00_linuxkit.conf | 5 +++++ pkg/binfmt/main.go | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/pkg/binfmt/Dockerfile b/pkg/binfmt/Dockerfile index ee00a5354..cafe936a9 100644 --- a/pkg/binfmt/Dockerfile +++ b/pkg/binfmt/Dockerfile @@ -3,7 +3,8 @@ FROM debian@sha256:de3eac83cd481c04c5d6c7344cd7327625a1d8b2540e82a8231b5675cef0a RUN apt-get update && apt-get install -y qemu-user-static && \ mv /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64 && \ mv /usr/bin/qemu-arm-static /usr/bin/qemu-arm && \ - mv /usr/bin/qemu-ppc64le-static /usr/bin/qemu-ppc64le + mv /usr/bin/qemu-ppc64le-static /usr/bin/qemu-ppc64le && \ + mv /usr/bin/qemu-s390x-static /usr/bin/qemu-s390x FROM linuxkit/alpine:3683c9a66cd4da40bd7d6c7da599b2dcd738b559 AS mirror diff --git a/pkg/binfmt/etc/binfmt.d/00_linuxkit.conf b/pkg/binfmt/etc/binfmt.d/00_linuxkit.conf index f0187ab91..a87e9ff00 100644 --- a/pkg/binfmt/etc/binfmt.d/00_linuxkit.conf +++ b/pkg/binfmt/etc/binfmt.d/00_linuxkit.conf @@ -1,3 +1,8 @@ +# Register other architecture binary formats https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html +# Architecture masks and magics can be found here +# https://github.com/qemu/qemu/blob/master/scripts/qemu-binfmt-conf.sh +# Replace ELF with `\x45\x4c\x46` :qemu-aarch64:M:0:\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64:CF :qemu-arm:M:0:\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:CF :qemu-ppc64le:M:0:\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00:\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00:/usr/bin/qemu-ppc64le:CF +:qemu-s390x:M:0:\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-s390x:CF diff --git a/pkg/binfmt/main.go b/pkg/binfmt/main.go index 4df469a2d..97046edb9 100644 --- a/pkg/binfmt/main.go +++ b/pkg/binfmt/main.go @@ -89,6 +89,10 @@ func main() { if len(line) == 0 { continue } + // ignore comments + if line[0] == '#' { + continue + } err = binfmt(line) if err != nil { log.Fatal(err) From a10227ab28b32f064e86bdf3e18b4c1436ed54a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20W=C3=BCrbach?= Date: Wed, 6 Feb 2019 10:17:11 +0100 Subject: [PATCH 2/2] Update linuxkit/binfmt references MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Johannes Würbach --- examples/docker-for-mac.yml | 2 +- test/cases/040_packages/002_binfmt/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/docker-for-mac.yml b/examples/docker-for-mac.yml index 719165ae3..0b0d5d381 100644 --- a/examples/docker-for-mac.yml +++ b/examples/docker-for-mac.yml @@ -17,7 +17,7 @@ onboot: - name: sysfs image: linuxkit/sysfs:v0.6 - name: binfmt - image: linuxkit/binfmt:v0.6 + image: linuxkit/binfmt:e2d222038867ebd13b0b723c8351be559267050b # Format and mount the disk image in /var/lib/docker - name: format image: linuxkit/format:v0.6 diff --git a/test/cases/040_packages/002_binfmt/test.yml b/test/cases/040_packages/002_binfmt/test.yml index 47425913a..6ca9c3fa2 100644 --- a/test/cases/040_packages/002_binfmt/test.yml +++ b/test/cases/040_packages/002_binfmt/test.yml @@ -6,7 +6,7 @@ init: - linuxkit/runc:83d0edb4552b1a5df1f0976f05f442829eac38fe onboot: - name: binfmt - image: linuxkit/binfmt:v0.6 + image: linuxkit/binfmt:e2d222038867ebd13b0b723c8351be559267050b - name: test image: alpine:3.8 binds: