Qtopia(FriendlyARM)でSSHを実行したい。私自身のディストリビューションはUbuntuなので、sshバイナリファイルをコピーしてデバイスに貼り付けることはできません。
バイナリファイルをコピーして貼り付けることができる場合、どこにありますか? SSHをコンパイルする必要がある場合、ubuntuでどのようにコンパイルできますか?
お使いのデバイスには [〜#〜] 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つの選択肢があります: OpenSSH と Dropbear 。 Dropbearは小さいですが、機能が少なく、特にSFTPがありません。
標準ライブラリがGlibcの場合、DebianのARMディストリビューションからバイナリを取得できます。 armel
client または server パッケージを取得します。を実行して.deb
ファイルを抽出します
dpkg-deb -x openssh-….deb .
次に、バイナリを./usr/bin
または./usr/sbin
からデバイスにコピーします。
標準ライブラリがuClibcの場合、uClibcに基づくディストリビューションからバイナリを取得する必要があります。 Dropbear 多くの組み込みディストリビューションに含まれています。 Openmoko は、Qtopiaといくつかの祖先を共有しており、デフォルトのインストールにDropbearが含まれています。複数のプログラムをインストールする場合は、 BuildRoot を使用すると、 クロスコンパイラ を取得して一般的なプログラムを簡単にビルドできます。必要なのは- ガイドに従ってください 。