내가 사용하고 있는 임베디드 커널은 약간 오래된 2.6.37입니다. 이제 이미지를 빌드할 때 사용한 것보다 최신 버전을 사용해야 합니다 rootfs
(애플리케이션에 필요한 c++11을 지원하므로 4.3 대신 5.1을 사용해야 합니다).gcc
최신 빌드 루트를 사용하여 이 작업을 수행하고 이를 linaro 툴체인 5.1과 함께 사용하고 싶습니다.
내가 구성한 외부 툴체인이 커널 헤더 4.0.0을 사용하고 있음을 감지했기 때문에 (buildroot make에서) 커널 헤더 2.6.x(buildroot의 툴체인 구성으로 제공) 간의 불일치를 처음 만났습니다.
문제는 커널 모듈을 전혀 사용하지 않는다는 점인데, 이 경우에는 커널과 커널 헤더가 일치하지 않아도 문제가 없을 것이라고 생각합니다. 그렇죠?
답변1
아니요, 이는 잘못된 내용입니다. C 라이브러리를 빌드하는 데 사용되는 커널 헤더 파일은 실행 중인 커널 버전과 같거나 이전 버전이어야 합니다. 따라서 장치에서 Linux 2.6.37을 실행 중인 경우 커널 헤더 <= 2.6.37을 사용하여 툴체인을 빌드해야 합니다.