Як запустити виконувані файли armhf в системі arm64?


10

У мене на сервері arm64 встановлений Ubuntu 16.04.2 LTS:

# uname -a
Linux test 4.9.23-std-1 #1 SMP Mon Apr 24 13:18:14 UTC 2017 aarch64 aarch64 aarch64 GNU/Linux

Я запустив таку команду, щоб включити armhfвстановлення пакета:

# dpkg --add-architecture armhf

Потім я встановив tracerouteпакет:

# apt-get install traceroute:armhf
Reading package lists... Done
Building dependency tree
[...]
Preparing to unpack .../traceroute_1%3a2.0.21-1_armhf.deb ...
Unpacking traceroute:armhf (1:2.0.21-1) ...
Processing triggers for man-db (2.7.5-1) ...

Однак я не можу запустити виконуваний файл:

# traceroute
-bash: /usr/sbin/traceroute: cannot execute binary file: Exec format error

Додаткова інформація:

# file /usr/bin/traceroute.db
/usr/bin/traceroute.db: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV),
    dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux
    2.6.32, BuildID[sha1]=0ebd0553e26b163dd848c131fe8ee0a4a2409109, stripped
# ldd /usr/bin/traceroute.db
        not a dynamic executable

Я також спробував встановити binfmt-supportі підтвердити, що binfmt_miscмодуль завантажений.

Не arm64сумісний із зворотним зв'язком armhf? Як запустити armhfвиконувані файли на arm64сервері?


Мабуть, всі залежності, а також перекладач також повинні бути 32-бітовими
YouAGitForNotUsingGit

Ви виступали apt-get update; apt-get upgradeпісля dpkg --add-architecture armhf?
Маркос Сільвейра

@MarcosSilveira так, різниці немає.
Натан Осман

Відповіді:


16

Підтримка Arm32 не є обов'язковою для arm64. На практиці існує лише один процесор arm64, який не підтримує застарілу підтримку набору інструкцій arm32 - Cavium ThunderX. З рядка версії ядра, здається, ви використовуєте сервери Scaleway armv8. Якщо це так, вам не пощастило - сервери Scaleway armv8 базуються на ThunderX. Замість цього використовуйте Scaleway C1, який є рідним arm32.


2
Хороший здогад, я використовую Scaleway. Дякуємо за роз’яснення.
Натан Осман

1
Сервер типу 2A пакета також заснований на ThunderX і також підпадає під це обмеження.
vielmetti
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.