리눅스에서 다음과 같은 명령어를 차례로 입력한다. (설명은 주석에 포함)
# 필수 패키지들 설치 $ sudo apt-get install automake bison chrpath flex g++ git gperf gawk libexpat1-dev libncurses5-dev libsdl1.2-dev libtool python2.7-dev texinfo help2man libtool-bin
# git 을 이용하여 crostool-ng clone 해오기 $ git clone https://github.com/crosstool-ng/crosstool-ng.git $ cd crosstool-ng $ git checkout crosstool-ng-1.24.0 // 버전에 따라 빌드가 되지 않을 수도 있으므로 빌드가 되지 않는다면 버전을 바꿔가며 시도해보자... $ ./bootstrap $ ./configure --enable-local $ make $ make install
|
설치후 ct-ng 라는 실행파일을 볼 수 있다.
다음 명령어로 내 타깃의 디폴트 구성을 확인해주고...
# arm cortex a8 계열의 디폴트 구성 확인하기 $ ./ct-ng show-arm-cortex_a8-linux-gnueabi |
몇가지 툴체일 설정을 해준다
# 타깃 선택 # 툴체인 설정 $./ct-ng menuconfig |
툴체인 설정 커맨드를 입력하면 아래화면이 뜬다
여기서 해줘야 할 것은..
1. Paths and misc option -> Render the toolchain read-only 끄기
2. Target options -> floating point -> hardware FPU 선택
2번 설정은 부동소수점 레지스터를 쓴다는 설정인데 hardware FPU 를 쓰면 float, double 인자형 함수 호출이 빨라진다고 한다.
설정후 저장하고 나온뒤
# 빌드 명령 |
나같은 경우는 1시간 좀 덜걸렸던 것 같다.
빌드가 완료되면 home 폴더에 x-tools 라는 폴더가 생기고 내부에는 크로스 컴파일러들이 만들어져 있다. 바로 아래 처럼..
위 빌드는 게시 시간 기준으로 하였으며, tool 의 버전이 올라갈수록 빌드가 안될 수도 있으니 git checkout 으로 버전을 바꿔가면서 시도해보도록 하자
'Embedded Linux' 카테고리의 다른 글
부트로더의 간단한 개념 및 U-Boot 빌드해보기 (0) | 2019.09.10 |
---|