Ist es sicher, gemeinsam genutzte Bibliotheken einfach auf ein eingebettetes Linux-Gerät zu kopieren?

Ist es sicher, gemeinsam genutzte Bibliotheken einfach auf ein eingebettetes Linux-Gerät zu kopieren?

Folgendes ist im Benutzerhandbuch des Herstellers für die eingebettete Linux-Distribution auf der von ihm gelieferten Hardwareplatine enthalten

Entwickler können ihr Programm per FTP oder NFS auf ein X-Linux-Gerät übertragen. Verwenden Sie vor der Ausführung den Befehl ldd auf der Entwicklungsarbeitsstation, um Abhängigkeitsdateien zu überprüfen. Übertragen Sie außerdem relative Dateien auf X-Linux, um sicherzustellen, dass das Programm ordnungsgemäß ausgeführt werden kann. Hier ist ein Beispiel, bei dem wir „syslinux“ auf X-Linux übertragen:

  [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 # 

Aus den obigen Nachrichten,/lib/libc.so.6Und/lib/ld-linux.so.2werden von Syslinux benötigt. Legen Sie diese beiden Dateien auf X-Linux ab, um sicherzustellen, dass Syslinux ordnungsgemäß funktioniert.

Ich muss Software schreiben, die auf diesem Gerät läuft, und viele Ratschläge, die ich auf Stack Exchange erhalten habe, weisen in eine Richtung, die diesen Ratschlägen widerspricht (Vorschläge zum Einrichten einer speziellen eingebetteten Entwicklungsumgebung, zum Verknüpfen mit älteren Versionen von libc, statisches Verknüpfen usw.). Sind die oben vom Anbieter bereitgestellten Informationen eine sichere und zuverlässige Vorgehensweise???

Antwort1

DudürfenKopieren Sie Bibliotheken auf Ihr eingebettetes Gerät, vorausgesetzt, es läuft mit demselben Betriebssystem auf derselben Prozessorarchitekturfamilie. Ihr Gerät verfügt über einex86Prozessor, der zur selben Familie gehört wie 32-Bit-PCs. Wenn Sie also ein 32-Bit-Linux-System auf Ihrem Desktop-Computer haben, können Sie Bibliotheken und ausführbare Dateien von Ihrem Desktop-Computer auf Ihr Gerät kopieren.

Andererseits empfehle ich nicht, die Dinge so zu machen. Sie werden am Ende mit einem Durcheinander von Dateien unbekannter Herkunft dastehen, ohne dass Sie Abhängigkeiten verwalten, Software aktualisieren oder deinstallieren können. Soweit ich es aus einem kurzen Blick auf dieHandbuch, X-Linux ist ein kleines Linux-System, das nicht erweiterbar ist. Meine Empfehlung ist, stattdessen eine andere Linux-Distribution neben oder anstelle von X-Linux zu installieren. Wenn die andere Distribution neben X-Linux läuft, führen Sie Programme aus dieser Distribution in einemchroot(Sie sind immer noch durch den X-Linux-Kernel eingeschränkt).

Antwort2

Ich hoffe, dass mit „Entwicklungsworkstation“ eine „eingebettete Entwicklungsumgebung“ gemeint ist, da die Anwendung sonst aufgrund von Architekturunterschieden (Fehler durch ungültige Anweisungen) wahrscheinlich überhaupt nicht ausgeführt wird.

DerGerätscheint über einen 32-Bit-x86-Prozessor zu verfügen, daher sollte die Einrichtung nicht schwer sein. Das Kopieren von Bibliotheken von Ihrem (wahrscheinlich) 64-Bit-System würde jedoch in einer Katastrophe enden.

verwandte Informationen