728x90
반응형
[ 라즈베리파이용 configure ]
crosstool-NG는 각기 다른 여러 가지 조합의 툴체인 빌드를 할 수 있다.
아래의 명령어는 다양한 플랫폼에 대한 설정에(arch: armv7, armv8, aarch64 등, 라이브러리: uClibc, libc 등) 대해 미리 정의된 구성을 보여준다.
$ ./ct-ng list-samples
crosstool-NG는 라즈베리파이 3 모델에 대한 config를 갖고 있기 때문에 그걸 이용해서 ARMv8 아키텍처와 libc 라이브러리용 64Bit 툴체인을 만들 수 있다.
이름에 접두어 show-를 붙이면 다음과 같이 default 구성을 볼 수 있다.
./ct-ng show-aarch64-rpi3-linux-gnu
표준 라이브러리는 glibc이며, 나중에 변경 가능하므로, 일단 타깃 구성을 선택하자.
$ ./ct-ng aarch64-rpi3-linux-gnu
menuconfig로 구성 변경
이제 menuconfig 명령을 이용해 Default 구성을 변경할 수 있다.
$ ./ct-ng menuconfig
실행 화면
여기서 Log level과 관련한 옵션을 바꿔보자.
- Paths and misc options → Render the toolchain read-only를 끄기 (라이브러리 추가하기 위함)
- Paths and misc options → Maximum log level to see를 Debug로 변경
툴체인 빌드
아래 명령어로 crosstool-NG를 사용해 툴체인을 빌드할 수 있다. 오래 걸리니 기다릴 생각 말고 알아서 잘 놀고 오자.
$ ./ct-ng build
728x90
빌드 에러
isl: download failed
빌드가 되어야 하는데 isl다운로드가 안 돼서 한참 애먹었다.
이유는 crosstool-ng 1.24.0 버전에서 isl 다운로드가 안 되는 것이었다.
에러를 해결하기 위해 아래와 같이 설치해 주자.
$ cd .build/tarballs/
isl-0.20 다운로드
$ wget https://libisl.sourceforge.io/isl-0.20.tar.gz
expat 2.2.6 다운로드
$ wget http://github.com/libexpat/libexpat/releases/download/R_2_2_6/expat-2.2.6.tar.bz2
다운로드 후, 다시 툴체인 빌드를 해보자. (몇 번째 빌드인지 모르겠다.)
$ ./ct-ng build
빌드가 완료되면 다음과 같은 메시지가 뜬다.
에러를 해결하기 위해 내가 참고한 유튜브이다.
728x90
반응형