web-dev-qa-db-ja.com

組み込みLinuxにsshを追加する

Qtopia(FriendlyARM)でSSHを実行したい。私自身のディストリビューションはUbuntuなので、sshバイナリファイルをコピーしてデバイスに貼り付けることはできません。

バイナリファイルをコピーして貼り付けることができる場合、どこにありますか? SSHをコンパイルする必要がある場合、ubuntuでどのようにコンパイルできますか?

4
Mohammad

お使いのデバイスには [〜#〜] arm [〜#〜] プロセッサが搭載されています。お使いのPCには x86 プロセッサが搭載されています。 ARMとx86は、異なるプロセッサアーキテクチャであり、 命令セット が異なります。 x86の実行可能プログラム コンパイル済み は、ARMプロセッサが実行できないx86命令で構成され、その逆も同様です。

ARMバイナリが必要です。さらに、デバイスにある他のソフトウェアと互換性のあるARMバイナリが必要です。具体的には、 静的にリンクされた バイナリ(他に依存しないバイナリ)または適切なシステムにリンクされたバイナリ ライブラリ のいずれかが必要です。

お持ちの標準ライブラリを確認してください。 /lib/ld-uClibc.soというファイルがある場合は、組み込みシステム向けの小さなライブラリである Clibc があります。 /lib/ld-linux.so.2というファイルがある場合は、 GNU libc があります。これは、Ubuntu PC(およびその他の組み込みLinux以外)にあるライブラリと同じです。

SSHクライアントとサーバーには2つの選択肢があります: OpenSSHDropbear 。 Dropbearは小さいですが、機能が少なく、特にSFTPがありません。

標準ライブラリがGlibcの場合、DebianのARMディストリビューションからバイナリを取得できます。 armelclient または server パッケージを取得します。を実行して.debファイルを抽出します

dpkg-deb -x openssh-….deb .

次に、バイナリを./usr/binまたは./usr/sbinからデバイスにコピーします。

標準ライブラリがuClibcの場合、uClibcに基づくディストリビューションからバイナリを取得する必要があります。 Dropbear 多くの組み込みディストリビューションに含まれています。 Openmoko は、Qtopiaといくつかの祖先を共有しており、デフォルトのインストールにDropbearが含まれています。複数のプログラムをインストールする場合は、 BuildRoot を使用すると、 クロスコンパイラ を取得して一般的なプログラムを簡単にビルドできます。必要なのは- ガイドに従ってください