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

저는 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를 실행합니다.
