Linux 크로스 컴파일 시 컴파일 순서

Linux 크로스 컴파일 시 컴파일 순서

저는 Linux From Scratch라는 책을 계속 읽었으며 Linux 크로스 컴파일에 대한 이해의 일부 공백을 메우고 싶었습니다.

대상 머신에 맞게 툴체인이 구축된 경우 크로스 컴파일에 필요한 일반적인 작업 순서는 다음과 같나요?

  • 대상에 대한 파일 시스템 계층 구조 생성
  • 대상 머신의 표준 라이브러리를 컴파일하고 대상의 파일 시스템에 설치합니다.
  • 이전에 대상용으로 컴파일된 표준 라이브러리를 사용하여 대상 시스템용 커널을 컴파일합니다.
  • 대상의 파일 시스템에서 이미지 생성
  • 대상 머신에서 이미지 실행

답변1

즉, 운영 체제 통합 없이 "독립형" 크로스 컴파일러로 시작할 수 있습니다. 이는 C 프런트엔드에서만 작동합니다.

이 방법으로 커널과 C 라이브러리를 컴파일할 수 있습니다(커널 헤더 파일 필요).

C 라이브러리를 구축한 후 전체 운영 체제 통합 및 언어 지원을 통해 크로스 컴파일러를 컴파일할 수 있습니다.

gcc를 사용하면 공유 libgcc가 공유 libc와 연결되어야 하고 공유 libc가 공유 libgcc와 연결되어야 하기 때문에 일반적으로 더 많은 작업이 필요합니다. 전체 업그레이드는 libc에서 모든 컴파일러 종속성을 제거하므로 재사용이 가능합니다.

관련 정보