共有ライブラリを組み込みLinuxデバイスにコピーするのは安全ですか?

共有ライブラリを組み込みLinuxデバイスにコピーするのは安全ですか?

以下は、提供するハードウェアボードの組み込みLinuxディストリビューションのベンダーのユーザーマニュアルに含まれています。

開発者は、FTPまたはNFSを介してX-Linuxデバイスにプログラムを配置できます。実行する前に、開発ワークステーションでlddコマンドを使用して依存関係ファイルを確認してください。同時に、関連ファイルをX-Linuxに入れて、プログラムが正常に実行できるようにします。以下は、X-Linuxに「syslinux」を配置する例です。

  [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が必要です。 syslinuxが正常に動作するように、これら2つのファイルをX-Linuxに配置します。

私はこのデバイスで実行するソフトウェアを書く必要があり、スタック交換で受け取った多くのアドバイスはこのアドバイスと矛盾する方向を指摘しました(特定の組み込み開発環境設定、以前のバージョンのlibcへの接続に関する提案)。 、静的リンクなど)。プロバイダが提供した上記の情報は安全で信頼できますか?

答え1

あなたできるデバイスが同じプロセッサアーキテクチャファミリで同じオペレーティングシステムを実行している場合は、ライブラリを埋め込みデバイスにコピーします。あなたのデバイスにx8632ビットPCと同じファミリのプロセッサです。したがって、デスクトップコンピュータに32ビットLinuxシステムがある場合は、デスクトップコンピュータのライブラリと実行可能ファイルをデバイスにコピーできます。

一方、私はこれをお勧めしません。未知のソースからのファイルが残り、依存関係を管理したり、ソフトウェアをアップグレードまたは削除したりする方法はありません。ちょっと見てから集めたものの中から手動、X-Linuxはスケーラブルに設計された小さなLinuxシステムです。私の提案は、X-Linuxと一緒にまたはX-Linuxの代わりに別のLinuxディストリビューションをインストールすることです。 X-Linuxと他のディストリビューションが共存する場合chroot(まだX-Linuxカーネルによって制限されます)。

答え2

「開発ワークステーション」とは、「組み込み開発環境」を意味することを願っています。そうしないと、アーキテクチャの違い(誤ったコマンドエラー)によってアプリケーションがまったく実行されない可能性があります。

これ装備32ビットx86プロセッサがあるようですが、設定は難しくありませんが(おそらく)64ビットシステムからライブラリをコピーすると災害になります。

関連情報