วิธีรัน armhf executables บนระบบ arm64?


10

ฉันติดตั้ง Ubuntu 16.04.2 LTS บนเซิร์ฟเวอร์ arm64 แล้ว:

# 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 บิตเช่นกัน
You'reAGitForNotUsingGit

คุณแสดงapt-get update; apt-get upgradeหลังจากdpkg --add-architecture armhfหรือไม่
Marcos Silveira

@MarcosSilveira ใช่ไม่แตกต่างกัน
Nathan Osman

คำตอบ:


16

การสนับสนุน Arm32 เป็นทางเลือกบน arm64 ในทางปฏิบัติมีเพียงซีพียู ARM64 เพียงตัวเดียวที่ไม่สนับสนุนชุดคำสั่ง arm32 armacy เดิม - Cavium ThunderX จากสตริงเวอร์ชันเคอร์เนลดูเหมือนว่าคุณกำลังใช้เซิร์ฟเวอร์ Scaleway armv8 หากเป็นกรณีนี้คุณจะโชคไม่ดี - เซิร์ฟเวอร์ Scaleway armv8 ใช้ ThunderX ใช้ Scaleway C1 แทนซึ่งเป็น native3232


2
ดีมากฉันกำลังใช้ Scaleway ขอขอบคุณสำหรับการชี้แจง.
Nathan Osman

1
เซิร์ฟเวอร์ Type 2A ของแพ็คเก็ตนั้นใช้ ThunderX และขึ้นอยู่กับข้อ จำกัด นี้
vielmetti
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.