<Spec>

  • Ubuntu : ubuntu-18.04.5-desktop-amd64
  • QT version : v4.8.7
  • Cross Compile : gcc-linaro-7.5.0-2019.12-i686_arm-linux-gnueabihf
  • TSlib version : v1.22
  • buildroot version : 2021.05.x

buildroot를 이용해 Filesystem을 만들어 QT4를 빌드하여 예제까지 실행해 보겠다.

이번장에서는 buildroot를 빌드해 보겠다.

 

SDK에 있는 yocto Toolchain을 사용하면 빌드가 되지 않는다. 조사 결과 buildroot나 Qt4는 순수 toolchain만 사용하도록 정의되어 있어서 linaro v7.5.0로 시작하도록 하겠다.

 > 좀 더 알아봐야겠다. 

 

 

-Working path

$ pwd
~/STM

 

1. buildroot defconfig 수정(defconfig)

 - builroot, Toolchain 설치 및 압축 풀기

$ git clone git://git.buildroot.net/buildroot
$ mkdir Toolchain
$ cd Toolchain
$ wget https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-i686_arm-linux-gnueabihf.tar.xz
$ tar -xvf gcc-linaro-7.5.0-2019.12-i686_arm-linux-gnueabihf.tar.xz
$ cd ../buildroot

 

- defconfig 수정

$ cp -rfvp .config configs/stm32mp_whatmam_defconfig
$ make stm32mp_whatmam_defconfig
$ make menuconfig

custom defconfig 생성

make menuconfig시 초기 화면이다.

A. target option

B. Build options

항목에서는 루트 파일 시스템을 만드는데 필요한 소스를 다운로드할 경로 작업 경로 등을 설정한다.

보통 기본 값으로 설정해도 문제없으므로 변경하지 않고 다음으로 넘어가도록 한다.

 

C. Toolchain

  • Toolchain type : External toolchain
  • Toolchain : Custom toolchain
  • Toolchain : Pre-installed toolchain
  • Toolchain path : $(CROSS_COMPILE)
  • Toolchain prefix : $(ARCH)-linux-gnueabihf 
  • gcc version : 7.x
  • kernel headers series : 4.10.x
  • C library : glibc
  • [ * ]Toochain has C++ support

위와 같이 수정해 준다.

 

D. Kernel, Bootloaders

 - n키 눌러서 사용 X

 

나머지 목록들은 그대로 쓰도록 하겠다.

 

많은 기능에 대한 분석과 설명은 추후에 따로 게시하겠다.

 

 

모두 수정을 마치고 Exit -> Save

 

2. buildroot build

$ export ARCH=arm
$ export CROSS_COMPILE=${PWD}/../STM/Toolchain/gcc-linaro-7.5.0-2019.12-i686_arm-linux-gnueabihf
$ make

 

필요에 따라 make clean & make distclean을 잘 활용하여 빌드해야 합니다.

 

3. file copy

$ cd output/images
$ sudo dd if=rootfs.ext4 of=/dev/sdb6 conv=fdatasync bs=512

SD 카드를 삽입 후 rootfs Partition에 image를 넣는다.

 

+ Recent posts