크로스 툴체인 설치 는 BeagleBone Black용 리눅스를 만들 때 제일 먼저 잡아야 하는 부분이다. 크로스 툴체인 설치가 되어 있어야 x86 PC에서 ARM 타겟용 코드를 제대로 빌드할 수 있다. 이 글은 설치하고 PATH까지 연결하는 순서를 짧게 정리한 글이다.
여기서는 linaro의 arm-linux-gnueabihf 툴체인을 사용한다. 굳이 다른 걸 써도 되지만, 이미 이 시리즈에서는 이 조합으로 맞춰두는 편이 덜 헷갈린다.
다운로드 페이지는 아래 링크를 보면 된다.
https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/

크로스 툴체인 설치 체크
BeagleBone 리눅스 빌드하기, U-Boot 컴파일하기, 커널이나 사용자 공간 프로그램을 빌드할 때 전부 이 툴체인이 들어간다. 그래서 크로스 툴체인 설치를 먼저 해두면 뒤에 나오는 빌드 작업이 훨씬 편해진다.
내가 쓰는 방식은 단순하다. 설치하고, 압축 풀고, bin 경로를 PATH에 붙인다. 끝이다. 복잡하게 설정 파일을 여러 개 만질 필요는 없다.
설치 순서
- tar 파일을 다운로드한다.
- 원하는 작업 폴더에 압축을 푼다.
- 압축이 풀린 bin 디렉토리 경로를 확인한다.
- PATH에 추가한다.
- 터미널을 다시 열거나 source로 반영한다.
PATH 설정
예를 들면 이런 식이다.
export PATH=$PATH:~/bbb_workspace/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin
매번 직접 치기 귀찮으니까 ~/.bashrc에 넣어두는 게 편하다.
vim ~/.bashrc
source ~/.bashrc
여기까지 끝났으면 아래처럼 확인하면 된다.
arm-linux-gnueabihf-gcc --version
버전이 보이면 일단 설치는 된 거다. 이후에는 BeagleBone 리눅스 빌드하기로 넘어가면 되고, 먼저 U-Boot부터 잡고 싶으면 U-boot 컴파일하기를 보면 된다.
주의할 점
파일명에 버전이 붙어 있어서 링크가 바뀔 수 있다. 그래서 다운로드 페이지에서 현재 최신 파일을 직접 확인하는 게 낫다. 그리고 PATH에 같은 이름의 다른 툴체인이 들어 있으면, 실제로 어떤 gcc가 잡히는지 꼭 확인해야 한다.
정리
크로스 툴체인 설치는 c만 컴파일 공부한 사람에게는 생소할 수 있다. 작업하는 컴퓨터가 intel/amd 환경이고 개발 보드는 arm이라 arm에서 돌아가도록 intel/amd cpu가 컴파일 할 때 필요로 하는 것이므로, 필요성을 인지하는 것이 본 포스팅의 목적이다.
실행 체크
이 글은 설치 자체보다 다음 단계로 넘어가기 위한 준비를 정리한 글이다. 크로스 툴체인이 제대로 잡혔는지 먼저 보고, 버전이 맞는지 확인한 다음, U-Boot 쪽으로 넘어가면 된다. PATH를 다시 열어봐야 하는 경우가 생각보다 많다.
내 순서는 항상 같다. 먼저 gcc 버전 확인, 그다음 U-Boot, 그다음 BeagleBone 리눅스 빌드다. 중간에 막히면 새로 설치하는 것보다 환경 변수를 다시 보는 편이 빠르다.
- 버전 확인
- PATH 확인
- 다음 글로 이동