É seguro apenas copiar bibliotecas compartilhadas em dispositivos Linux incorporados?

É seguro apenas copiar bibliotecas compartilhadas em dispositivos Linux incorporados?

O seguinte está contido no manual do usuário do fornecedor para sua distribuição Linux embarcada na placa de hardware que eles fornecem

Os desenvolvedores podem colocar seus programas em dispositivos X-Linux via FTP ou NFS. Antes de executá-lo, use o comando ldd na estação de trabalho de desenvolvimento para verificar os arquivos de dependência. Coloque também os arquivos relativos no X-Linux para garantir que o programa possa ser executado corretamente. Aqui está um exemplo quando colocamos “syslinux” no X-Linux:

  [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 # 

Das mensagens acima,/lib/libc.so.6e/lib/ld-linux.so.2são necessários pelo syslinux. Coloque esses dois arquivos no X-Linux para garantir que o syslinux possa funcionar corretamente.

Terei que escrever software para rodar neste dispositivo e muitos conselhos que recebi sobre troca de pilha me apontam direções que contradizem esse conselho (sugerindo configuração de ambiente de desenvolvimento incorporado específico, links para versões mais antigas da libc, links estáticos, etc.) . As informações acima fornecidas pelo fornecedor são uma maneira segura e confiável de fazer as coisas???

Responder1

Vocêpodecopie bibliotecas para o seu dispositivo incorporado, desde que ele esteja executando o mesmo sistema operacional na mesma família de arquitetura de processador. Seu dispositivo possui umx86processador, que é da mesma família dos PCs de 32 bits. Portanto, se você tiver um sistema Linux de 32 bits em sua máquina desktop, poderá copiar bibliotecas e executáveis ​​de sua máquina desktop para o seu dispositivo.

Por outro lado, não recomendo fazer as coisas dessa maneira. Você acabará com uma confusão de arquivos de origem desconhecida, sem nenhuma maneira de gerenciar dependências, atualizar ou desinstalar software. Pelo que percebi de uma rápida olhada nomanual, o X-Linux é um pequeno sistema Linux que não foi projetado para ser extensível. Minha recomendação é instalar outra distribuição Linux junto ou em vez do X-Linux. Se a outra distribuição estiver junto com o X-Linux, execute programas dessa distribuição em umchroot(você ainda estará limitado pelo kernel do X-Linux).

Responder2

Espero que eles quisessem dizer "ambiente de desenvolvimento incorporado" por "estação de trabalho de desenvolvimento", caso contrário, é provável que o aplicativo não seja executado devido a diferenças arquitetônicas (erros de instruções inválidas).

Odispositivoparece ter um processador x86 de 32 bits, portanto não deve ser difícil de configurar, mas copiar bibliotecas do seu (provável) sistema de 64 bits terminaria em desastre.

informação relacionada