공부

[Dev #1] boot loader build

Unknown9 2020. 9. 1. 13:50
반응형

회사 업무 진행용을 정보 보안에 문제 없는 수준으로 풀어서 사용하려고 기록을 해둔다.

통상적인 개발과정과 동일하므로 보안 문제가 없다고 생각된다.

 

#1 git으로 소스코드를 받는다.

git이 없다면 설치를 하자.

$sudo apt install git

소스코드가 받아졌음을 알 수 있다.

서버에 ssh인증서를 설치하면 password를 별도로 입력하지 않고 쉽게 여러 repository의 소스 코드를 받아 올 수 있다.

 

#2 make를 한다.

처음 우분투를 깔았더니 아무것도 없다. 하나씩 따라갈 예정이므로, make를 설치한다.

$sudo apt install make     

make를 해보자. 툴체인이 없다. 설치를 해야한다. stbgcc-6.3-1.6은 github에 open되어 있으므로 받아서 사용을 해보자.

$make
.
.
.
ERROR: Toolchain 'stbgcc-6.3-1.6' is not in $PATH for tool 'arm-linux-gcc'
.
.

stbgcc-6.3-1.6을 받는다.

github.com/Broadcom/stbgcc-6.3/releases/download/stbgcc-6.3-1.6/stbgcc-6.3-1.6.x86_64.tar.bz2

받은 toolchain을 지정된 path에 압축을 푼다. (eg. /opt/toolchain)

$tar xvf stbgcc-6.3-1.6.x86_64.tar.bz2 

arm-linux-gcc의 PATH를 지정한다.

$vi ~/.bashrc

마지막에 

export PATH="/opt/toolchain/stbgcc-6.3-1.6/bin:$PATH"

를 추가한다.

 

그런데 cc가 없단다... 

$sudo apt install gcc

 

#3 boot loader 이미지가 만들어졌다.

target board에 설치를 한다.

 

보통의 boot loader는 간단하게 build가 된다. 어렵지 않다.

 

HW 변경에 대한 부분만 적용을 하면 general하게 사용할 수 있다.

reference platform의 memory및 GPIO등의 설정이 필요하다면 해주고 그 이외에는 별도 작업이 필요 없다.

bootloader가 준비가 되면 linux kerenel로 booting을 할 수 있다.

kerenel booting이 되면 SW를 돌려 볼 수 있게 된다.

 

통상적으로 판매가 되는 보드의 boot loader code가 open이 되어 있다면 한번 해보는 것도 재미가 있을 것 같다.

 

#1. boot loader build - done

#2 SDK build 

#3 test SW build 

#4 RDK build 

#5 Android build

반응형