BuildRoot를 설정

BuildRoot의 Version은 2016.11.1 을 사용한다
(buildroot-2016.11.1.tar.bz2 : 2016.12.30일 현재 가장 최신 - 2016년 12월 29일 Release)

https://buildroot.org/download.html 또는 https://buildroot.org/downloads/ 에서 최신 Version을 다운 받는다.

2022.05.04 : https://github.com/linux4sam/buildroot-external-microchip 를 참조한다

나는 home 폴더에 SAMA5D4라는 폴더를 생성하고 이 안에 다운받은 BuildRoot 파일을 넣고 압축 파일을 해제 했다.

buildroot_ec_95_95_ec_b6_95_ed_95_b4_ec_a0_9c.jpg

buildroot-2016.11.1/configs 폴더의 내용중에 atmel_sama5d4_xplained_defconfig 나 atmel_sama5d4_xplained_dev_defconfig 파일이 있는지 확인한다.

buildroot-2016.11.1 폴더에서 아래의 내용을 수행한다.

make atmel_sama5d4_xplained_dev_defconfig

이렇게 하면 기본 설정이 완료된다.

make menuconfig

make_menuconfig_first_screen.jpg

위의 것을 수행해서 필요한 설정을 바꾼다.

make_menuconfig_uclibc.jpg make_menuconfig_change_glibc.jpg make_menuconfig_change_glibc_end.jpg

이때 gcc를 6로 올린 경우 기본이 5이므로 이를 확인해서 바꾸어준다.

make_menuconfig_host_gcc.jpg make_menuconfig_host_gcc6.jpg

완료되면 설치한다.

make

결과물은 buildroot-2016.11.1/output 폴더에 위치한다.

buildroot_output.jpg

buildroot-2016.11.1/output/build 는 Source Code 들이 있다.
buildroot-2016.11.1/output/target 은 Root File system 이다.
buildroot-2016.11.1/output/images 은 결과물들이 들어 있다.

buildroot-2016.11.1/output/host 는 host 에서 사용되는 것들이 들어 있다.
특히 buildroot-2016.11.1/output/host/usr 는 Cross Compiler 가 있다.

buildroot-2016.11.1/output/host/usr/bin 폴더로 이동해서 아래처럼 수행해서 version을 확인한다.

./arm-linux-gcc -v

cross-gcc-version.jpg

./arm-linux-g++ -v

cross-gpp-version.jpg

이렇게 만들어진 결과물중 우리가 사용할 수 있는 것은 컴파일러와 파일 시스템 뿐이다. 이유는 이의 결과는 Atmel의 xplained Board에 맞추어져 있어 우리의 제품과는 맞지 않는 HW 사양을 가지고 있기 때문이다.

이에 소스를 일부 수정하여 다시 만들어야 한다.

BootStrap 수정

U-Boot 수정

Kernel 수정