我想在 Qtopia(在我的FriendlyARM 上)上运行 SSH。我自己的发行版是 Ubuntu,因此我无法将 ssh 二进制文件复制并粘贴到设备中。
如果我可以复制并粘贴二进制文件,我在哪里可以找到它?如果我必须编译 SSH,在我的 ubuntu 中怎么可能呢?
答案1
您的设备有一个手臂处理器。您的电脑有一个x86处理器。 ARM 和 x86 是不同的处理器架构,具有不同的性能指令集。一个可执行程序已编译for x86 由 ARM 处理器无法执行的 x86 指令组成,反之亦然。
您需要一个 ARM 二进制文件。此外,您需要一个与设备上的其他软件兼容的 ARM 二进制文件。具体来说,您需要一个静态链接二进制文件(不依赖于其他任何东西的二进制文件)或与正确系统链接的二进制文件图书馆。
检查您拥有哪个标准库。如果你有一个名为 的文件/lib/ld-uClibc.so
,那么你就有uClibc,一个用于嵌入式系统的小型库。如果你有一个名为 的文件/lib/ld-linux.so.2
,那么你就有GNU 库,与您的 Ubuntu PC(以及任何其他非嵌入式 Linux)上的库相同。
您有两种 SSH 客户端和服务器选择:开放SSH和水滴熊。 Dropbear 较小,但功能较少,特别是没有 SFTP。
如果标准库是 Glibc,您可以从 Debian 的 ARM 发行版获取二进制文件。获取armel
客户或者服务器包裹。.deb
通过运行提取文件
dpkg-deb -x openssh-….deb .
然后将二进制文件从设备复制./usr/bin
到./usr/sbin
设备。
如果标准库是 uClibc,您需要从基于 uClibc 的发行版中获取二进制文件。水滴熊包含在许多嵌入式发行版中。开放莫科与 Qtopia 有一些共同的血统,在其默认安装中包含 Dropbear。如果您要安装多个程序,构建根目录使得很容易获得交叉编译器并构建通用程序:您几乎只需要跟随指南。