Adicionando ssh no linux embutido

4

Eu quero rodar o SSH no Qtopia (no meu FriendlyARM). Minha própria distribuição é Ubuntu, então não posso copiar e colar o arquivo binário ssh no dispositivo.

Se eu conseguir copiar e colar um arquivo binário, onde posso encontrá-lo? Se eu devo compilar o SSH, como é possível no meu Ubuntu?

    
por Mohammad 23.07.2012 / 18:37

1 resposta

3

Seu dispositivo tem um processador ARM . Seu PC tem um processador x86 . ARM e x86 são arquiteturas de processadores diferentes com diferentes conjuntos de instruções . Um programa executável compilado para x86 consiste em instruções x86 que um processador ARM não pode executar, e vice-versa.

Você precisa de um binário ARM. Além disso, você precisa de um binário ARM que seja compatível com o outro software que você possui no seu dispositivo. Especificamente, você precisa de um binário estaticamente vinculado (um binário que não depende de mais nada) ou um binário vinculado ao sistema certo bibliotecas .

Verifique qual biblioteca padrão você possui. Se você tem um arquivo chamado /lib/ld-uClibc.so , você tem uma uClibc , uma pequena biblioteca destinada a sistemas embarcados. Se você tem um arquivo chamado /lib/ld-linux.so.2 , você tem o GNU libc , a mesma biblioteca que você tem no seu Ubuntu PC ( e qualquer outro Linux não embarcado).

Você tem duas opções de clientes e servidores SSH: OpenSSH e Dropbear . O Dropbear é menor, mas tem menos recursos, em particular nenhum SFTP.

Se a biblioteca padrão for Glibc, você pode pegar um binário da distribuição ARM do Debian. Obtenha o cliente armel ou servidor . Extraia o arquivo .deb executando

dpkg-deb -x openssh-….deb .

Copie o binário de ./usr/bin ou ./usr/sbin para o dispositivo.

Se a biblioteca padrão for uClibc, você precisará pegar um binário de uma distribuição baseada no uClibc. O Dropbear está incluído em muitas distribuições incorporadas. O Openmoko , que compartilha alguns ancestrais com o Qtopia, inclui o Dropbear em sua instalação padrão. Se você vai querer instalar vários programas, BuildRoot torna muito fácil obter um cross-compiler e construa programas comuns: você praticamente só precisa siga o guia .

    
por 24.07.2012 / 02:58