
[1] 크로스 컴파일러 준비
↓
[2] U-Boot 빌드 및 포팅
↓
[3] 커널 빌드 및 포팅
↓
[4] 디바이스 트리 수정
↓
[5] Root Filesystem 구성
↓
[6] 부팅 테스트 & 디버깅
↓
[7] 애플리케이션 개발
BSP 개발은 특정 하드웨어 보드에서 운영체제(주로 리눅스)가 원활하게 동작하도록 필요한 모든 소프트웨어를 구축하고 최적화하는 과정
크로스 컴파일러: 내 컴퓨터(x86)에서 보드(ARM)용 실행파일을 만드는 도구.
aarch64-linux-gnu-gcc개념: 리눅스 커널이 부팅하기 전, 하드웨어(RAM, 저장장치)를 초기화하고 커널을 메모리에 올리는 역할.
bootcmd, bootargs)개념: 하드웨어와 사용자 프로그램 사이를 중재하는 리눅스의 핵심.
개념: 보드에 어떤 장치들이 어떻게 연결되어 있는지 알려주는 설정 파일.
개념: 커널 부팅 후 마운트되어 사용되는 파일시스템. 기본적인 명령어(ls, cd, sh)와 라이브러리가 포함된 사용자 공간.
개념: 부트로더, 커널, 루트 파일시스템을 보드에 올린 뒤 부팅 여부를 확인.
개념: 보드의 목적에 맞는 최종 프로그램을 작성하고 실행.
armv7, aarch64)