Безопасно ли просто копировать общие библиотеки на встраиваемое устройство Linux?

Безопасно ли просто копировать общие библиотеки на встраиваемое устройство Linux?

Следующая информация содержится в руководстве пользователя поставщика для встроенного дистрибутива Linux на поставляемой им аппаратной плате.

Разработчики могут поместить свою программу на устройство X-Linux через FTP или NFS. Перед запуском используйте команду ldd на рабочей станции разработки, чтобы проверить файлы зависимостей. Также поместите соответствующие файлы на X-Linux, чтобы убедиться, что программа может работать правильно. Вот пример, когда мы помещаем «syslinux» на 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 # 

Из сообщений выше,/lib/libc.so.6и/lib/ld-linux.so.2нужны syslinux. Поместите эти два файла в X-Linux, чтобы убедиться, что syslinux может работать правильно.

Мне придется написать программное обеспечение для работы на этом устройстве, и множество советов, которые я получил на Stack Exchange, направляют меня в направлениях, которые противоречат этому совету (предложение настроить определенную встроенную среду разработки, привязаться к более старым версиям libc, статическое связывание и т. д.). Является ли приведенная выше информация, предоставленная поставщиком, безопасным и надежным способом что-то сделать???

решение1

Тыможеткопировать библиотеки на встроенное устройство, при условии, что оно работает под управлением той же операционной системы на том же семействе архитектуры процессора. Ваше устройство имеетx86процессор, который относится к тому же семейству, что и 32-битные ПК. Поэтому, если на вашем настольном компьютере установлена ​​32-битная система Linux, вы можете копировать библиотеки и исполняемые файлы с вашего настольного компьютера на свое устройство.

С другой стороны, я не рекомендую делать так. Вы получите кучу файлов неизвестного происхождения, без возможности управлять зависимостями, обновлять или удалять программное обеспечение. Из того, что я понял из быстрого взгляда наруководство, X-Linux — это небольшая система Linux, которая не предназначена для расширения. Я рекомендую вместо этого установить другой дистрибутив Linux рядом или вместо X-Linux. Если другой дистрибутив находится рядом с X-Linux, запустите программы из этого дистрибутива вchroot(вы по-прежнему будете ограничены ядром X-Linux).

решение2

Надеюсь, под «рабочей станцией разработки» они подразумевали «встроенную среду разработки», поскольку в противном случае приложение, скорее всего, вообще не запустится из-за архитектурных различий (ошибок недопустимых инструкций).

TheустройствоСудя по всему, процессор x86 у него 32-битный, так что настроить его не составит труда, однако копирование библиотек из вашей (вероятной) 64-битной системы закончится катастрофой.

Связанный контент