將共用庫複製到嵌入式 Linux 裝置上是否安全?

將共用庫複製到嵌入式 Linux 裝置上是否安全?

以下內容包含在其提供的硬體板上的嵌入式 Linux 發行版的供應商使用手冊中

開發人員可以透過FTP或NFS將他們的程式放到X-Linux裝置上。在運行之前,在開發工作站上使用 ldd 命令檢查依賴檔案。同時將相關檔案放到X-Linux上以確保程式能夠正常運作。以下是我們將「syslinux」放到 X-Linux 上的範例:

  [root@X-Linux]:/sbin # ldd syslinux 
          linux-gate.so.1 => (0xb80a0000)
          libc.so.6 => /lib/libc.so.6 (0xb7f60000) 
          /lib/ld-linux.so.2 (0xb80a1000) 
  [root@X-Linux]:/sbin # 

從以上消息來看,/lib/libc.so.6/lib/ld-linux.so.2syslinux 需要。將這兩個檔案放到X-Linux上,以確保syslinux能夠正常運作。

我必須編寫在該設備上運行的軟體,並且我在堆疊交換上收到的很多建議為我指出了與此建議相矛盾的方向(建議設置特定的嵌入式開發環境、鏈接到舊版本的libc、靜態連結等) 。供應商提供的上述資訊是否安全可靠?

答案1

將庫複製到您的嵌入式設備,前提是該設備在同一處理器架構系列上運行相同的作業系統。您的設備有一個x86處理器,與 32 位元 PC 屬於同一系列。因此,如果您的桌上型電腦上有 32 位元 Linux 系統,則可以將程式庫和執行檔從桌上型電腦複製到您的裝置。

另一方面,我不建議這樣做。您最終會得到一堆來源不明的文件,無法管理依賴項、升級或卸載軟體。根據我快速瀏覽後收集到的信息手動的,X-Linux是一個小型的Linux系統,其設計時不具有可擴充性。我的建議是安裝另一個 Linux 發行版並與 X-Linux 一起安裝或取代 X-Linux。如果其他發行版與 X-Linux 一起運行,則在chroot(您仍然會受到 X-Linux 核心的限制)。

答案2

我希望他們所說的“開發工作站”是指“嵌入式開發環境”,否則應用程式可能會因為架構差異(無效指令錯誤)而根本無法運行。

裝置似乎有一個 32 位元 x86 處理器,因此設定應該不難,但從(可能的)64 位元系統複製庫將以災難告終。

相關內容