공유 라이브러리를 임베디드 Linux 장치에 복사하는 것이 안전합니까?

공유 라이브러리를 임베디드 Linux 장치에 복사하는 것이 안전합니까?

다음은 공급업체가 제공하는 하드웨어 보드에 내장된 Linux 배포판에 대한 공급업체 사용자 설명서에 포함되어 있습니다.

개발자는 FTP 또는 NFS를 통해 X-Linux 장치에 프로그램을 넣을 수 있습니다. 실행하기 전에 개발 워크스테이션에서 ldd 명령을 사용하여 종속성 파일을 확인하세요. 또한 프로그램이 제대로 실행될 수 있도록 X-Linux에 상대 파일을 넣습니다. 다음은 X-Linux에 “syslinux”를 추가하는 예입니다:

  [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.2syslinux에 필요합니다. syslinux가 제대로 작동할 수 있도록 이 두 파일을 X-Linux에 넣으십시오.

나는 이 장치에서 실행할 소프트웨어를 작성해야 할 것이며 스택 교환에서 받은 많은 조언은 이 조언과 모순되는 방향을 지적합니다(특정 임베디드 개발 환경 설정 제안, 이전 버전의 libc 연결, 정적 연결 등). . 공급업체가 제공한 위의 정보는 작업을 수행하는 안전하고 신뢰할 수 있는 방법입니까???

답변1

~할 수 있다동일한 프로세서 아키텍처 제품군에서 동일한 운영 체제를 실행하는 경우 임베디드 장치에 라이브러리를 복사하십시오. 귀하의 장치에는x8632비트 PC와 동일한 제품군인 프로세서입니다. 따라서 데스크톱 컴퓨터에 32비트 Linux 시스템이 있는 경우 데스크톱 컴퓨터에서 장치로 라이브러리와 실행 파일을 복사할 수 있습니다.

반면에, 나는 그런 식으로 일을 하는 것을 권장하지 않습니다. 종속성을 관리하거나 소프트웨어를 업그레이드하거나 제거할 방법이 없이 출처를 알 수 없는 파일이 뒤죽박죽하게 될 것입니다. 내가 잠깐 훑어본 것에서 수집한 것에서수동, X-Linux는 확장 가능하도록 설계되지 않은 소형 Linux 시스템입니다. 내 추천은 X-Linux와 함께 또는 대신에 다른 Linux 배포판을 설치하는 것입니다. 다른 배포판이 X-Linux와 함께 있는 경우 해당 배포판의 프로그램을chroot(여전히 X-Linux 커널의 제약을 받습니다.)

답변2

"개발 워크스테이션"은 "내장형 개발 환경"을 의미했기를 바랍니다. 그렇지 않으면 아키텍처 차이(잘못된 명령 오류)로 인해 애플리케이션이 전혀 실행되지 않을 가능성이 높기 때문입니다.

그만큼장치32비트 x86 프로세서가 있는 것으로 보이므로 설정이 어렵지 않지만 (아마도) 64비트 시스템에서 라이브러리를 복사하면 재난이 발생할 수 있습니다.

관련 정보