4.1 BeagleboneBlack(BB, 비글본 블랙) 개발환경 구성하기 - BSP, Bootloader 설치하기

728x90
반응형

BSP(Board Support Package)는 개발 보드 대한 설명은 아래 링크 참조, 간단히 설명하면 "보드(프로세서 및 주변 회로)를 사용하기 위한 소프트웨어 모음"이다. Bootloader, Kernel, file system로 구성된다.

https://ko.wikipedia.org/wiki/BSP_(%EC%9E%84%EB%B2%A0%EB%94%94%EB%93%9C)

 

BSP (임베디드) - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

 

이번 포스팅에서는 Bootloader를 먼저 설치해보도록 하겠다.

1. 부트로더 ?

Bootloader 란 HDD, SSD 또는 Flash memory에 있는 커널 및 펌웨어 이미지를 로딩하는 역할을 한다. 시스템의 전원을 켜면 가장 먼저 동작되는 것으로 시스템의 동작을 준비하는 역할을 한다고 볼 수 있다. 
  Bootloader의 종류는 아주(?) 다양하다. 소형 MCU나 작은 시스템의 경우는 개발자가 직접 부트로더를 만들어 사용할 것이고, 이처럼 Linux를 활용하고자 한다면 이미 검증되고 널리 사용되는 Bootloader를 사용할 것이다. 현재 ARM 기반의 임베디드 시스템에서 사용하는 Bootloader는 크게 3가지가 있다. 검색된 설명 링크 참조 바람.

 

이 중 최근 대세는 U-BOOT인 것 같다. 비글본 블랙에서도 U-BOOT를 사용하기 때문에 U-BOOT 설치방법에 대해 알아보도록 하겠다.

 

BLOB

https://bootlin.com/doc/legacy/blob/blob.pdf

 

ARMBOOT

http://armboot.sourceforge.net/

 

ARMboot

ARMboot is an Open-Source firmware suite for ARM based platforms. ARMboot is heavily based on the sister-project PPCboot, which provides similar functionality on PowerPC based systems. ARMboot shall be a common, easy-to-use and easy-to-port boot platform O

armboot.sourceforge.net

 

U-BOOT

https://en.wikipedia.org/wiki/Das_U-Boot

 

Das U-Boot - Wikipedia

Das U-Boot (subtitled "the Universal Boot Loader" and often shortened to U-Boot; see History for more about the name) is an open-source, primary boot loader used in embedded devices to package the instructions to boot the device's operating system kernel.

en.wikipedia.org

 

2. U-BOOT 설치

U-boot를 설치하기 위해서는 먼저 다운을 받아야겠지?  U-boot의 홈페이지는 아래 링크 참조

http://www.denx.de/wiki/U-Boot/WebHome

 

WebHome < U-Boot < DENX

Das U-Boot -- the Universal Boot Loader Welcome to the Wiki area for cooperating on U-Boot development. Note: Documentation on how to use U-Boot belongs into the DULG Manual. General Information Events with U-Boot presence Custodian specific area Site Tool

www.denx.de

 

터미널에 아래와 같이 입력한다. 

git clone git://git.denx.de/u-boot.git

u-boot가 생성된 걸 확인할 수 있다. u-boot로 git branch를 만들어 준다. 포스팅 당시 최신 버전은 2021.07 버전이기 때문에 2021.07 버전으로 switch(git 최신 버전이 아닐 경우 checkout, 이 부분에 대해 잘 모르겠다면 구글링~~!)

git switch -c v2021.07

 

여기까지 완료했다면 이전에 설치한 Cross Compiler를 이용해 u-boot를 컴파일해보자! 컴파일하기 전 스크립트 파일을 만들어야 한다. 잘 모르겠으면 일단 따라 한다.(사실 나도 잘 모름 ㅎㅎ 따라 하다 보니 알게 됨)

 

vi "파일명"

파일명에 원하는 파일명을 입력하면 된다. 본 포스팅에서는 cortex_a8_sh, 아래와 같이 입력 후 저장한다.

PATH=${HOME}/x-tools/arm-cortex_a8-linux-gnueabihf/bin/:$PATH
export CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf-
export ARCH=arm

 

본 포스팅에서는 u-boot 파일에 넣어놨는데 이 스크립트 파일의 위치는 어느 곳에 놓아도 무방하다. 

아래와 같이 입력해 컴파일 실행 

source cortex_a8_sh
make CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- am335x_boneblack_vboot_defconfig
make CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf-

스크립트 파일(cortex_a8_sh)을 다른 곳에 놓았다면 cortex_a8_sh앞에 파일의 경로를 넣어주면 된다.

컴파일이 완료되면 아래와 같이 관련. cfg파일과. bin파일이 생긴 걸 볼 수 있다. 

 

 

 

여기까지 완료했다면 u-boot를 다운로드하고, 컴파일까지 성공해 beaglebone black의 Flash memory에 write 할 수 있는 u-boot.bin 파일 만들기가 끝난 것이다. 

 

-끝-

 

728x90
반응형