[英]Is it possible running docker on big endian, arm32, linux=2.6.34?
[英]why i can not run program on my linux(qemu simulate arm32,and start a linux os)
【1】,我有一個linux os環境,基於arm32(qemu similute)。
【2】、/目錄下有兩個文件。 一個是“init”,一個是“nesoft”,但我只能運行“init”,不能運行“nesoft”:
/#./init 這是initramfs-init!!!
/#./nesoft -/bin/sh: ./nesoft: 未找到
【3】,這兩個文件有以下區別:zhang@zhang-Virtual-Machine:~/src/qemu/third_patry/rootfs/busybox/rootfs$ file init init: ELF 32-bit LSB executable, ARM, EABI5 version 1 ( SYSV), 靜態鏈接, 對於 GNU/Linux 3.2.0, BuildID[sha1]=08c7f187d91207660caa2db0101980a1f4b12716, notd
zhang@zhang-Virtual-Machine:~/src/qemu/third_patry/rootfs/busybox/rootfs$ 文件 nesoft nesoft: ELF 32-bit LSB shared object, ARM, EABI5 版本/GNU/Linux, 動態鏈接解釋器/GNU/Linux lib/ld-linux.so.3,對於 GNU/Linux 4.4.0,剝離
【4】,我有搜索,所以我認為“LSB 共享對象”應該作為可執行文件運行(我從https://unix.stackexchange.com/questions/472449/what-is-the-difference-between-lsb學習-executable-et-exec-and-lsb-shared-object )但是,為什么它仍然無法運行?
【END】 有沒有人遇到過這種情況,知道為什么嗎?
我看到第二個文件的主要區別是動態鏈接的,這意味着它需要庫.so
文件才能執行。 我想它只是無法加載依賴項。
嘗試運行ldd
(或在運行二進制文件之前export LD_TRACE_LOADED_OBJECTS=1
,因為ldd
可能不在busybox
上)以查看缺少哪個庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.