Permalink
Browse files

Add s390x support to binfmt_misc

Signed-off-by: Johannes Würbach <johannes.wuerbach@googlemail.com>
  • Loading branch information...
johanneswuerbach committed Dec 22, 2018
1 parent 4e634e3 commit 81d17a19c48724368bde8b6d63edb17f2ee4b6c8
Showing with 11 additions and 1 deletion.
  1. +2 −1 pkg/binfmt/Dockerfile
  2. +5 −0 pkg/binfmt/etc/binfmt.d/00_linuxkit.conf
  3. +4 −0 pkg/binfmt/main.go
@@ -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

@@ -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
@@ -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)

0 comments on commit 81d17a1

Please sign in to comment.