
시작하기에 앞서서 나는 Docker 환경에서 실행했다.
이 페이지는 Yocto Project에서 Bitbake를 하기 위한 과정을 설명하기 위한 글로 Docker에 대해서는 나중에 자세히 다뤄볼 예정이다.
그래도 간단하게 설명하자면
#Ubuntu and Debian install
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping libsdl1.2-dev xterm curl
#Update existing list of packages
$ sudo apt-get update
#Install a few packages which let apt use packages over HTTPS
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
#Add Docker's official GPG key for the official Docker repository
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
#Set up the stable repository, add Docker repository to APT sources
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ git clone <Board_Docker_script.git>
$ ./build.sh
$ ./join.sh
#user password 입력
# yocto directory 생성
$ cd share
$ mkdir yocto
$ cd share
# ~/shared/yocto$ 에서 진행
$ git config --global user.email "test@test.test.test"
$ git config --global user.name "test"
$ git config --global http.sslverify false
$ repo init -u
$ repo sync
# 첫 환경 변수 설정 local.conf 파일로 지정
~/yocto$ DISTRO=<EVB's Board>-directfb MACHINE=<EVB's Board> source sources/init-build-env build
# 명령어를 실행하여 Yocto 빌드 환경 변수들을 현재 셀 세션에 로드
# Docker 컨테이너를 나갔다가 다시 들어올 경우 여기서 부터 실행
~/yocto$ source sources/init-build-env build/
# 소스폴더 위치 확인
$ bitbake linux-yocto -c devshell
$ bitbake u-boot -c devshell
# choose Imaege build <core-image-minimal, nvt-image-qt5>
# core-image-minimal은 정말 부팅만 가능할 정도의 setup
$ bitbake core-image-minimal
#directory 확인
~/yoco/build/tmp-glibc/deploy/images/<Board>
인텔 i7-13세대 4코어, 램16기가 정도로 할당하고 Bitbake를 했을 때 대략 7시간정도 걸렸던 거 같다.
이후에 커널이미지를 바꾼다던가, 루트파일시스템 부분을 바꾼다던가 하는 경우에는 증분빌드를 하기 때문에 이정도로 까지 걸리지는 않는 것으로 알고 있다.