Проверьте ls -l /proc/sys/fs/binfmt_misc/
, чтобы увидеть, настроена ли ваша система x86 для прозрачного запуска qemu для двоичных файлов ARM, точно так же, как это может быть для запуска WIINE на Windows исполняемых файлах или любых других, использующих Linux binfmt_mis c , https://en.wikipedia.org/wiki/Binfmt_misc
Руководство администратора https://www.kernel.org/doc/Documentation/admin-guide/binfmt-misc.rst
Программа установки для пакета qemu-user
могла зарегистрировать исполняемые форматы, которые он поддерживает.
Без регистров binfmts, у вас просто будут register
и status
«файлы». В моей системе загрузочные скрипты WINE и Mono имеют зарегистрированные обработчики, поэтому я также вижу файлы CLR
и DOSWin
. например,
$ cat /proc/sys/fs/binfmt_misc/DOSWin
enabled
interpreter /usr/bin/wine
flags:
offset 0
magic 4d5a
Если есть какой-то другой механизм, попробуйте использовать strace ./some_arm_program
, чтобы увидеть, какие системные вызовы происходят при его выполнении.
Возможно, также приостановить его во время его работы ( control-z) и посмотрите на /proc/$(pidof some_arm_program)/maps
и другие файлы.
(Этот последний раздел был написан после того, как OP прокомментировал, что они видели только файлы register
и status
, но не qemu-arm
, но они с тех пор меняю свой комментарий. Похоже, что binfmt-support - это ответ.)