Я запускаю Debian armel в Qemu и пытаюсь запустить программу ARM, но сталкиваюсь с проблемами:
user@debian-armel:~$ ls -lbat
total 32
drwxr-xr-x 2 user user 4096 Sep 14 23:54 .
-rw------- 1 user user 139 Sep 14 20:41 .bash_history
-rwxrwxrwx 1 user user 7982 Aug 24 22:14 program
-rw-r--r-- 1 user user 220 Dec 9 2013 .bash_logout
-rw-r--r-- 1 user user 3184 Dec 9 2013 .bashrc
-rw-r--r-- 1 user user 675 Dec 9 2013 .profile
drwxr-xr-x 3 root root 4096 Dec 9 2013 ..
user@debian-armel:~$ ./program
-bash: ./program: No such file or directory
user@debian-armel:~$ file program
program: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, not stripped
user@debian-armel:~$ getconf LONG_BIT
32
user@debian-armel:~$ uname -ar
Linux debian-armel 2.6.32-5-versatile #1 Wed Sep 25 00:01:55 UTC 2013 armv5tejl GNU/Linux
user@debian-armel:~$ ldd program
not a dynamic executable
Похоже, у меня должно быть все хорошо, чтобы запустить его, какие-либо предложения?
Я не думаю, что это программа на Python, она должна быть 32-битным ARM ELF, но на всякий случай: user @ debian-armel: ~ $ python program Файл "program", строка 1 SyntaxError: Не-ASCII символ '\ x97' в файловой программе в строке 2, но кодировка не объявлена; см. python.org/peps/pep-0263.html для подробностей user @ debian-armel: ~ $
—
user2059300
Я имел в виду, что вам нужно знать интерпретатор, который запускает ваш файл, чтобы иметь возможность его запускать. Linux должен распознать, какой у вас файл, чтобы выполнить его. Проверьте этот ответ, который объясняет, как файлы выполняются . Знаете ли вы переводчика, который вам нужен для запуска
—
AAlvz
program
?
@AAlvz Дамп первой строки гекса: 00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 | .ELF ............ |
—
user2059300
program
... Вы пробовали запустить его, указав переводчика?python program
.. Если это работает, может быть, Шебанг отсутствует ..?