Dockerfile: don't fail if a binfmt-misc rule already exists

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
This commit is contained in:
Andrei Vagin 2016-02-18 20:41:06 +03:00 committed by Pavel Emelyanov
parent b95bc0d1eb
commit 2df0257f26
2 changed files with 17 additions and 7 deletions

View file

@ -1,20 +1,20 @@
all: armv7hf aarch64 ppc64le
.FORCE:
qemu-user-static:
./extract-deb-pkg qemu-user-static
binfmt_misc:
echo ':armv7hf:M::\x7fELF\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-static:' > /proc/sys/fs/binfmt_misc/register;
echo ':aarch64:M::\x7fELF\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-static:' > /proc/sys/fs/binfmt_misc/register
echo ':ppc64le:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00:/usr/bin/qemu-ppc64le-static:' > /proc/sys/fs/binfmt_misc/register
binfmt_misc: .FORCE
./binfmt_misc
armv7hf: qemu-user-static
armv7hf: qemu-user-static binfmt_misc
docker build -t criu-armv7hf -f Dockerfile.armv7hf ../..
aarch64: qemu-user-static
aarch64: qemu-user-static binfmt_misc
docker build -t criu-aarch64 -f Dockerfile.aarch64 ../..
ppc64le: qemu-user-static
ppc64le: qemu-user-static binfmt_misc
docker build -t criu-aarch64 -f Dockerfile.ppc64le ../..
clean:

10
scripts/build/binfmt_misc Executable file
View file

@ -0,0 +1,10 @@
set -e -x
test -f /proc/sys/fs/binfmt_misc/armv7hf ||
echo ':armv7hf:M::\x7fELF\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-static:' > /proc/sys/fs/binfmt_misc/register;
test -f /proc/sys/fs/binfmt_misc/aarch64 ||
echo ':aarch64:M::\x7fELF\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-static:' > /proc/sys/fs/binfmt_misc/register
test -f /proc/sys/fs/binfmt_misc/ppc64le ||
echo ':ppc64le:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00:/usr/bin/qemu-ppc64le-static:' > /proc/sys/fs/binfmt_misc/register