임베디드를 좋아하는 조금 특이한 개발자?

[Yocto Project] qemu를 위한 리눅스 이미지 빌드 본문

Embedded/Yocto Project

[Yocto Project] qemu를 위한 리눅스 이미지 빌드

Gordon_ 2025. 3. 17. 01:02

1. 개발 환경

WSL2 (Ubuntu 22.04 LTS)

 

2. Poky 코드 준비

sudo apt install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 liblz4-tool locales python3 python3-git python3-jinja2 python3-pexpect python3-pip python3-subunit socat texinfo unzip wget xz-utils zstd

git clone git://git.yoctoproject.org/poky
cd poky
git checkout kirkstone

Yocto project release 버전 확인

저는 Kirkstone버전을 사용하였습니다. 아래 링크를 통해 최신의 Yocto project의 relese를 확인 할 수 있습니다.

https://wiki.yoctoproject.org/wiki/Releases

 

Releases - Yocto Project

 

wiki.yoctoproject.org

 

3. build 환경 구축

source oe-init-build-env build-qemuarm

 

해당 명령어 처리 후 디렉토리가 자동적으로 변경(poky -> poky/build-qemuarm)되는 것을 확인 할 수 있습니다.

변경된 현재 디렉토리

4. Machine 설정 변경

Local.conf 내 MACHINE 변수를 "qemuarm"으로 변경합니다.

 

5.  리눅스 이미지 빌드

bitbake core-image-base

 

  컴퓨터 CPU 사양에 따라 빌드 시간이 다르겠지만, 저의 경우 30분정도 걸렸습니다. 빌드하는 동안 CPU를 거의 100% 가깝게 사용하기에 그동안 웹 서핑이나 간단히 한숨을 돌리면서 쉬면서 빌드가 완료 될때까지 기다리면 됩니다.

 

  만약 bitbake의 명령어가 없다면 3번 환경 구축할 때 "source"명령어를 사용하였는지 다시 확인해보세요.

 

6. qemu 에뮬레이션 실행

runqemu qemuarm

yocto 안에 qemu도 포함되어 있어 따로 설치 하지 않아도 자동적으로 실행이 됩니다.

runqemu 명령어 뒤에 실행할 Machine를 입력하여 qemu를 실행합니다.

실행된 qemu