From: Arne Fitzenreiter Date: Sun, 20 Sep 2015 15:06:59 +0000 (+0200) Subject: make-functions: check working binfmt_misc and add x86_64 helper. X-Git-Tag: v2.17-core94~3^2 X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff_plain;h=1f4fea71a62d4c699de09f4a4b6258e6dd52845b make-functions: check working binfmt_misc and add x86_64 helper. Signed-off-by: Arne Fitzenreiter --- diff --git a/tools/make-functions b/tools/make-functions index a9baab96d5..e297c50cef 100644 --- a/tools/make-functions +++ b/tools/make-functions @@ -361,7 +361,7 @@ qemu_is_required() { fi case "${BUILD_ARCH},${target_arch}" in - x86_64,arm*|i?86,arm*) + x86_64,arm*|i?86,arm*|i?86,x86_64) return 0 ;; *) @@ -376,6 +376,15 @@ qemu_install_helper() { return 0 fi + if [ ! -e /proc/sys/fs/binfmt_misc/status ]; then + exiterror "binfmt_misc not mounted. QEMU_TARGET_HELPER not useable." + fi + + if [ ! $(cat /proc/sys/fs/binfmt_misc/status) = 'enabled' ]; then + exiterror "binfmt_misc not enabled. QEMU_TARGET_HELPER not useable." + fi + + if [ -z "${QEMU_TARGET_HELPER}" ]; then exiterror "QEMU_TARGET_HELPER not set" fi @@ -413,12 +422,17 @@ qemu_find_target_helper_name() { arm*) magic="7f454c4601010100000000000000000002002800" ;; + x86_64) + magic="7f454c4602010100000000000000000002003e00" + ;; esac [ -z "${magic}" ] && return 1 local file for file in /proc/sys/fs/binfmt_misc/*; do + # skip write only register entry + [ $(basename "${file}") = "register" ] && continue # Search for the file with the correct magic value. grep -qE "^magic ${magic}$" "${file}" || continue