From 453f38e64a4858b98437b0fb3a1ab911e9810c51 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Thu, 7 Jan 2016 16:12:35 +0000 Subject: [PATCH] add in all the other architectures from binfmt misc and script to generate them Signed-off-by: Justin Cormack --- .../binfmt_misc/etc/init.d/binfmt_misc | 20 ++++++++++++++++++- scripts/binfmt.sh | 13 ++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100755 scripts/binfmt.sh diff --git a/alpine/packages/binfmt_misc/etc/init.d/binfmt_misc b/alpine/packages/binfmt_misc/etc/init.d/binfmt_misc index b3d00fd86..7b68596b1 100755 --- a/alpine/packages/binfmt_misc/etc/init.d/binfmt_misc +++ b/alpine/packages/binfmt_misc/etc/init.d/binfmt_misc @@ -6,7 +6,25 @@ start() { ebegin "Configuring binfmt misc" mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc - echo ":qemu-arm:M:0:\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:OC" > /proc/sys/fs/binfmt_misc/register + + echo ":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//proc/sys/fs/binfmt_misc/qemu-aarch64-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-alpha:M:0:\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-alpha-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":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//proc/sys/fs/binfmt_misc/qemu-arm-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-armeb:M:0:\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-armeb-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-cris:M:0:\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x4c\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-cris-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-m68k:M:0:\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-m68k-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-microblaze:M:0:\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xba\xab:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-microblaze-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-mips:M:0:\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-mips-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-mipsel:M:0:\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xfe\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-mipsel-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-ppc:M:0:\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-ppc-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-ppc64:M:0:\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-ppc64-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-ppc64abi32:M:0:\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-ppc64abi32-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-s390x-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-sh4:M:0:\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-sh4-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-sh4eb:M:0:\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-sh4eb-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-sparc:M:0:\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-sparc-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-sparc32plus:M:0:\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x12:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-sparc32plus-static:OC" > /proc/sys/fs/binfmt_misc/register + echo ":qemu-sparc64:M:0:\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2b:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin//proc/sys/fs/binfmt_misc/qemu-sparc64-static:OC" > /proc/sys/fs/binfmt_misc/register } stop() diff --git a/scripts/binfmt.sh b/scripts/binfmt.sh new file mode 100755 index 000000000..a51fed754 --- /dev/null +++ b/scripts/binfmt.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +for f in /proc/sys/fs/binfmt_misc/qemu* +do + NAME=$(basename $f) + MAGIC=$(cat $f | grep '^magic' | sed 's/^magic //' | sed 's/\(..\)/\\x\1/g') + OFFSET=$(cat $f | grep '^offset' | sed 's/^offset //') + MASK=$(cat $f | grep '^mask' | sed 's/^mask //' | sed 's/\(..\)/\\x\1/g') + EXEC="/usr/bin/$f-static" + FLAGS=$(cat $f | grep '^flags:' | sed 's/^flags: //') + + printf "echo \":${NAME}:M:${OFFSET}:${MAGIC}:${MASK}:${EXEC}:${FLAGS}\" > /proc/sys/fs/binfmt_misc/register\n" +done