2015-01-01 4 views
0

저는 Cortex A9 기반의 암 임베디드 플랫폼 (Hummingboard (http://www.solid-run.com/products/hummingboard/)과 매우 유사합니다)에서 작업하고 있습니다.기존 rootfs 및 외부 툴체인과의 크로스 컴파일

이전에 비글 본에서 실행중인 일부 소프트웨어를 포팅하려고합니다. 우리의 소프트웨어는 python 기반이지만 일부 ctypes, 내부 c 라이브러리는 물론 여러 파이썬 모듈과 rabbitmq 서버를 사용합니다. 비글 본에 대해서는 패키지를 설치하는 데 도움이되는 많은 지원과 우분투 기반 배포판이 있기 때문에 이것을 설정하는 것이 쉽습니다.

필자는 linaro 크로스 컴파일러와 uboot 및 rootfs 이미지를 플랫폼 제조업체가 제공합니다. 필요한 모든 의존성을 수동으로 교차 컴파일하고 빌드하는 것은 모든 것이 거의 버릇이 없으므로 두통으로 변하고 있습니다. 팔 장치에서 실행할 수있는 기본 개발 도구 체인이 없습니다.

이 작업 중 일부를 수행하는 더 간단한 방법을 찾고 있습니다. Buildroot는 필자가 필요로하는 것처럼 들리지만, 이미 기존의 rootfs 및 툴체인과 어떻게 작동하는지 확신 할 수 없습니다. 안타깝게도 rootfs의 모든 세부 사항과 하드웨어가 어떻게 생겨나는 지 알지 못하므로 buildroot를 사용하여 정확하게 설정을 복제 할 수 있다고는 생각지 않습니다.

또 다른 옵션은 어떻게 든 QEMU에서 rootfs를 사용하고 그것을 실행하기 위해 네이티브 툴체인을 만드는 것이 었습니다. 크로스 컴파일의 두통을 다루지 않고도 의존성을 수동으로 만들 수있었습니다.

모든 도움을 주시면 대단히 감사하겠습니다. 감사.

답변

0

Buildroot는 기존 rootfs를 "보완"하지 않고 전체 rootfs를 생성하도록 설계되었습니다. 따라서 Buildroot를 사용하려면 기존 루트 파일 시스템을 제거하고 Buildroot에서 생성 된 새 파일 시스템을 사용해야합니다.

또한, BeagleBone에서 실행되는 데비안 배포판에 만족했다면, Hummingboard에서 데비안을 실행할 수도 있습니다.

+0

불행히도, 나는 hummingboard stock를 사용하지 않습니다. 플랫폼은 동일한 아키텍처 (동일한 프로세서, 메모리 등이지만 다른 주변 장치)의 수정 된 버전입니다. –

+0

어떻게이 문제가 발생합니까? –

+0

글쎄, 나는이 플랫폼을 디자인하거나 만들지 않았고, 허밍 보드 참조 설계와 다른 몇 가지 수정 사항을 가지고있다. 나는 충분한 정보 나 hw 육성을하기 위해 기존의 rootfs에서 이미 완료된 작업을 다시 만드는 능력이 없습니다. hummingboard 데비안 배포본은이 플랫폼에서 바닐라를 실행하지 않을 가능성이 큽니다. –