[Linux] Ubuntu(20.04)에서 crosstool-ng 설치하기(2)

728x90
반응형

설치까지 완료했으면, 정상적으로 설치되었는지 확인해보자!

아래 그림과 같이 ./ct-ng show-arm-cortex_a8-linux-gnueabi 입력하면 관련 정보가 나타난다.

명령어는 crosstool-ng의 경로로 이동해서 입력해야 한다!

 

 

다른 core의 toolchain을 찾고 싶다면,

위 그림의 폴더 중 "samples" 폴더로 이동해 ls 명령을 입력하면 다음과 같이 지원하는 core list가 나올 것이다.

 

 

본 포스팅에서는 arm-cortex_a8-linux-gnueabi를 이용할 것이다. 자, 그럼 이제 이걸 가지고. c파일을 빌드하는 과정을 알아보도록 하겠다.

 

다시 뒤로 돌아가./ct-ng arm-cortex_a8-linux-gnueabi 입력하면 아래 그림과 같이 된다.

여기서./ct-ng menuconfig 입력하면 다음과 같은 창이 나타날 것이다!

 

 

빌드하기 전 몇 가지 구성을 변경할 수 있다. 본 포스팅에서는 Paths and misc 옵션의 Render the toolchain read-only 옵션을 비활성화하고, Target options에서 Floating point를 hardware(FPU)로 변경할 것이다.

 

이 정도는 할 수 있겠죠??? 여기까지 완료하고 저장한 다음 build를 해보자!

 

build 하려고 했더니 위와 같은 에러가 발생 하.. 왜 발생하는 걸까?

 

root 계정이라 menuconfig에서 뭔가를 변경해줘야 하는 거 같다. (https://stackoverflow.com/questions/17466017/how-to-solve-you-must-not-be-root-to-run-crosstool-ng-when-using-ct-ng) 링크에서 참고해서 해결했다.

 

어떻게 하냐고? 다시 menuconfig로 들어간다.

 

들어가서 첫 번째 항목인 Paths and misc options로 들어가서 2번째쯤에 있는 "Try features marked as EXPERIMENTAL"을 선택(스페이스 누르면 됨)하면 바로 아래 "Allow building as root user(READ HELP!)(NEW)"라는 게 보일 거다. 이거까지 선택! 그럼 또 그 아래 "Ary you sure?(NEW)" 이것도 선택! 저장하고 menuconfig를 종료한다.

 

그리고 다시 build 명령을 입력하면 build가 진행된다. 컴퓨터 성능에 따라 다르지만 약 20~30분 정도 소요된다.

 

 

 

후.. 오래 걸렸다 빌드를 다하고 나면

 

Finising installation이라는 메시지와 함께 끝!!

toolchain을 정상적으로 사용하기 위해서 PATH를 설정해줘야 한다.

 

vi ~/.bashrc

 

명령으로 bashrc 파일을 열고 경로를 설정해준다. (이거 안 해주면 터미널을 실행할 때마다 PATH 설정해줘야 한다. )

 

 

# toolchain crosstool-ng PATH

export PATH=~/x-tools/arm-cortex_a8-linux-gnueabihf/bin:$PATH

 

 

 

적당한(본인이 원하는) 폴더를 만들고 아래와 같이 helloworld.c 파일을 만들었다. .c 파일의 내용은 아래와 같다.(역시 시작은 Hello world^^)

 

이렇게 만들고 저장한 다음 toolchain을 이용해 컴파일하면

 

 

컴파일이 정상적으로 된 것을 확인할 수 있다.!! 후 오늘 하루 종일 걸렸다.

 

-끝-

728x90
반응형