【RPI4】 Buildroot를 사용한 리눅스 개발 환경 구성

Buildroot는 임베디드 리눅스 시스템을 생성하는 간단하고 효율적인 도구이자, 빌드 시스템입니다. 임베디드 리눅스 시스템 개발을 위해서는 bootloader, linux kernel, root file system, toolchain 등이 요구됩니다. 이러한 것들을 buildroot를 통해서 간단하게 구성할 수 있습니다. buildroot는 make 유틸리티를 기반으로 되어 있으며, 여러 오픈 패키지를 통해서 root file system을 만드는데 효율적입니다. root file system을 만들기 위해서는 여러 오픈 소스를 다운로드하여 빌드하고, 빌드된 파일들을 통해서 root file system을 구성해야 합니다. 이러한 과정이 쉽지 않습니다. 이를 buildroot를 통해서 쉽게 구성할 수 있습니다. yocto라는 빌드 시스템이 요즘 좀 더 각광받고 있지만, buildroot 또한 나쁘지 않은 빌드 시스템입니다. buildroot를 통해서 Raspberry Pi 4 임베디드 리눅스 개발 환경을 구성할 수 있습니다. 그러기 위해서 먼저 buildroot 소스 코드를 다운로드합니다. buildroot 홈페이지에서 다운로드할 수도 있지만 git을 통해서 다운로드할 수 있습니다. 

 

buildroot를 통해서 RPI4 개발 환경 구축을 위한 호스트 환경은 Ubuntu 20.04 LTS입니다. Buildroot를 빌드하기 위해선 먼저 아래 패키지들이 설치되어 있어야 합니다. 설치되어 있지 않다면 아래 패키지를 먼저 설치하여 주시기 바랍니다. 터미널에 아래 명령어를 입력하여 설치합니다.

 

sudo apt-get install make gcc g++ perl libncurses5-dev -y

 

buildroot 다운로드를 위해서 아래 명령어를 입력합니다.

 

git clone git://git.buildroot.net/buildroot

 

Raspberry Pi 4 64bit 환경에 맞게 linux kernel 및 root file system을 빌드하기 위한 설정을 위해서 아래 명령을 입력합니다.

 

make raspberrypi4_64_defconfig
make menuconfig

 

"make menuconfig" 명령어를 입력하면 아래와 같이 buildroot를 설정할 수 있는 화면이 나옵니다.

 

 

"Toolchain" 항목을 선택합니다.

 

 

위의 그림과 같이 4개의 항목을 수정하고 처음 화면으로 돌아옵니다. "System configuration"을 선택합니다.

 

 

위의 그림과 같이 수정하고 저장합니다. 저장하고 종료한 다음 아래 명령어를 입력하여 buildroot를 빌드합니다.

 

make -j$(nproc)

 

RPI4 64bit 환경에 맞게 linux kernel과 root file system을 만들기 위한 패키지들과 소스 코드들을 다운로드하고 빌드하여 이미지로 만들어줍니다. 빌드 시간은 개인의 PC 성능에 따라서 다릅니다. 빌드가 완료되면 output 폴더가 생성됩니다.

 

 

빌드된 폴더 중 "images"와 "target" 폴더가 있습니다. "images" 폴더는 RPI4용 linux kernel 및 root file system 이미지 파일과 microSD 카드를 부팅 디스크로 만들어주는 sdcard.img 이미지 파일이 포함되어 있습니다.

 

 

"target" 폴더는 root file system을 ext4 이미지로 만들기 전의 리눅스 파일 시스템의 구조를 볼 수 있습니다.

 

 

이 글을 공유하기

댓글

Designed by JB FACTORY