В моей системе Debian пакет qemu-user-static содержит статически связанные двоичные файлы эмуляции пользователя (в отличие от эмуляции системы), включая /usr /bin /qemu-arm-static
Все они зарегистрированы с помощью средства binfmt (с помощью этого пакета с помощью вспомогательного пакета binfmt-support). Так, например:
# cat /proc/sys/fs/binfmt_misc/qemu-arm
enabled
interpreter /usr/bin/qemu-arm-static
flags: OC
offset 0
magic 7f454c4601010100000000000000000002002800
mask ffffffffffffff00fffffffffffffffffeffffff
Теперь просто смонтируйте корневую файловую систему arm в /mnt и скопируйте /usr /bin /qemu-arm-static (двоичный файл x86) в /mnt /usr /bin /qemu-arm-static
С вашего хоста x86, просто chroot:
chroot /mnt
И теперь вы можете запускать большинство команд и думать, что вы работаете с системой arm (сайт qemu документирует, что не работает, включая вызовы ptrace). Не забудьте при необходимости смонтировать другие файловые системы (/proc, /var ...).
Я думаю, что LXC может работать с такой эмуляцией внутри контейнера. Выполнение chroot не изолирует, а установка пакетов может вызвать проблемы (запускаются бинарные демоны ...)
Вы не сказали, какой дистрибутив вашего хоста, поэтому я не могу сказать больше. Ручной метод добавления интерпретатора для двоичного исполняемого файла описан там:https://www.kernel.org/doc/Documentation/binfmt_misc.txt