From 838377ab25ab98c90901779734d7cdeb370656ee Mon Sep 17 00:00:00 2001 From: Pavel Kopyl Date: Tue, 23 Aug 2016 13:42:07 +0000 Subject: Use different names for qemu-user binary: 1. qemu-linux-user-x86_64-cross for 64-bit. 2. qemu-linux-user-x86-cross for 32-bit. Also keep binaries with old names. Change-Id: Ib2487b82c57189942e0925427cb2144dc8817dec Signed-off-by: Pavel Kopyl --- packaging/baselibs.conf | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/packaging/baselibs.conf b/packaging/baselibs.conf index b50ee4740..6bfb843c9 100644 --- a/packaging/baselibs.conf +++ b/packaging/baselibs.conf @@ -1,6 +1,9 @@ arch i586 targets armv7l:cross aarch64:cross arch i686 targets armv7l:cross aarch64:cross arch x86_64 targets armv7l:cross aarch64:cross +arch i586 targets armv7l:x86-cross aarch64:x86-cross +arch i686 targets armv7l:x86-cross aarch64:x86-cross +arch x86_64 targets armv7l:x86_64-cross aarch64:x86_64-cross targettype cross package qemu-linux-user autoreqprov off @@ -21,3 +24,43 @@ targettype cross package qemu-linux-user post "setbinfmt 'arm' ':arm:M::\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-binfmt:P' " post "setbinfmt 'armeb' ':armeb:M::\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/qemu-armeb-binfmt:P'" post "setbinfmt 'aarch64' ':aarch64:M::\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-binfmt:P'" + +targettype x86_64-cross package qemu-linux-user + autoreqprov off + +/ + post "function setbinfmt () {" + post " local arch=$1" + post " local fmt=$2" + post " local comp_fmt=$(echo ${fmt} | sed -e 's/.*:://;s/:[^:]$//;s/\\x//g')" + post " local curr_fmt=$(cat /proc/sys/fs/binfmt_misc/${arch} | sed -ne '/interpreter/{s/interpreter //;h};/magic/{s/magic //;H};/mask/{s/mask //;G;s/\([^\n]*\)\n\([^\n]*\)\n\([^\n]*\)/\3:\1:\2/p}')" + post " if ( [ ! -e "/proc/sys/fs/binfmt_misc/${arch}" ] || [ "x${comp_fmt}" != "x${curr_fmt}" ] ); then" + post " builtin echo -1 > "/proc/sys/fs/binfmt_misc/${arch}"" + post " builtin echo "${fmt}" > /proc/sys/fs/binfmt_misc/register" + post " fi" + post "}" + post "[ ! -d /proc/sys/fs/binfmt_misc ] && ( /sbin/modprobe binfmt_misc )" + post "[ ! -f /proc/sys/fs/binfmt_misc/register ] && ( mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc )" + post "[ -e /proc/sys/fs/binfmt_misc/arm64 ] && ( builtin echo -1 > /proc/sys/fs/binfmt_misc/arm64 )" + post "setbinfmt 'arm' ':arm:M::\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-binfmt:P' " + post "setbinfmt 'armeb' ':armeb:M::\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/qemu-armeb-binfmt:P'" + post "setbinfmt 'aarch64' ':aarch64:M::\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-binfmt:P'" + +targettype x86-cross package qemu-linux-user + autoreqprov off + +/ + post "function setbinfmt () {" + post " local arch=$1" + post " local fmt=$2" + post " local comp_fmt=$(echo ${fmt} | sed -e 's/.*:://;s/:[^:]$//;s/\\x//g')" + post " local curr_fmt=$(cat /proc/sys/fs/binfmt_misc/${arch} | sed -ne '/interpreter/{s/interpreter //;h};/magic/{s/magic //;H};/mask/{s/mask //;G;s/\([^\n]*\)\n\([^\n]*\)\n\([^\n]*\)/\3:\1:\2/p}')" + post " if ( [ ! -e "/proc/sys/fs/binfmt_misc/${arch}" ] || [ "x${comp_fmt}" != "x${curr_fmt}" ] ); then" + post " builtin echo -1 > "/proc/sys/fs/binfmt_misc/${arch}"" + post " builtin echo "${fmt}" > /proc/sys/fs/binfmt_misc/register" + post " fi" + post "}" + post "[ ! -d /proc/sys/fs/binfmt_misc ] && ( /sbin/modprobe binfmt_misc )" + post "[ ! -f /proc/sys/fs/binfmt_misc/register ] && ( mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc )" + post "[ -e /proc/sys/fs/binfmt_misc/arm64 ] && ( builtin echo -1 > /proc/sys/fs/binfmt_misc/arm64 )" + post "setbinfmt 'arm' ':arm:M::\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-binfmt:P' " + post "setbinfmt 'armeb' ':armeb:M::\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/qemu-armeb-binfmt:P'" + post "setbinfmt 'aarch64' ':aarch64:M::\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-binfmt:P'" -- cgit v1.2.3