사용자 도구

사이트 도구


chromium_os:analysis:gentoo:crossdev

Crossdev

crossdev 는 크로스컴파일 툴체인을 자동으로 빌드해주는 스크립트입니다.
sys-devel/crossdev (http://gentoo-portage.com/sys-devel/crossdev) 에 들어있습니다.

1. Installation and Use

처음으로 할 일은 overlay를 생성하는 것입니다. 만약 이미 overlay가 있담면 스크립트는 emerge하세요.

emerge crossdev

crossdev 스크립트는 툴체인을 빌드하는데 필요한 과정을 자동화 해줍니다.
간략히 요약하자면:

  1. binutils : 타켓 아키텍쳐에 맞는 cross-binutils를 빌드합니다.
  2. linux-headers : 타켓 아키텍쳐에 맞는 C 라이브러리와 커널 해더를 설치합니다.
  3. libc-headers : 부가적인 해더 파일들입니다.
  4. gcc - stage - 1 : 기본 gcc cross compiler를 빌드합니다.
  5. libc : stage 1 의 크로스 컴파일러를 이용하여 크로스 컴파일된 C 라이브러리를 빌드합니다.
  6. gcc - stage - 2 : 전체 C cross - compiler를 빌드합니다.


모든 크로스 툴체인은 native 툴과 분리된 상태로 overlay안에 보관됩니다.

note : crossdev 는 첫번째 overlay를 사용합니다. 따라서 만약 layman을 사용한다면 make.conf에 다음과 같은 내용을 추가하면 됩니다.

File: /etc/make.conf

source /usr/portage/local/layman/make.conf\\
PORTDIR_OVERLAY="/usr/local/portage $PORTDIR_OVERLAY"

스크립트는 다음과 같이 사용됩니다.

crossdev -t powerpc-unknown-linux-gnu

이 스크립트는 PowerPC Machine의 크로스 컴파일 툴체인을 빌드합니다.

기본값으로 가장 최신 버전의 binutils, libraries, C compiler를 사용합니다. 종종 전체 빌드 과정중 컴파일이 되지 않는 경우가 있으니 상황에 맞게 다음 플레그를 통해 버전을 조절하시기 바랍니다.

플래그
--b 2.17 binutils 버전
--g 4.2.3 gcc 버전
--l 0.98.3-r2 libc의 버전
--k 2.6.25 커널 해더 버전

2. 참조

chromium_os/analysis/gentoo/crossdev.txt · 마지막으로 수정됨: 2013/05/02 01:04 저자 127.0.0.1