728x90
📢 개발 용 보드가 없는데 제품 환경에서 코드 테스트 해보고 싶다면? QEMU를 사용하자!
🚀 QEMU 사용 용도와 이유
💡 개발 용 보드가 없는데 제품 환경에서 코드 테스트를 해보고 싶다면?
💡 ARM 기반 기기에서 동작할 프로그램을 미리 실행해보고 싶다면?
QEMU를 사용하세요!
QEMU는 다양한 ARM 프로세서 보드 환경을 에뮬레이션할 수 있어요
실제 하드웨어가 없어도, 가상의 환경에서 테스트하고 디버깅할 수 있죠!
🛠️ Ubuntu에 QEMU 환경 설치하기
🤔 내가 원하는 Board Emulator가 안 보인다고?!
ubuntu 서버에 QEMU 환경을 세팅한다면 apt로 설치 하면 되겠죠?
sudo apt update
sudo apt install qemu-system-arm
설치가 끝났으니 내가 쓰고 싶은 Board Emulator 환경이 존재하는지 확인해봅니다
qemu-system-arm -machine help | grep mps3-an536
그런데… 아무 결과도 안 나온다?! 😱
- 기본 apt install로 설치한 QEMU는 구버전이라 최신 보드를 지원하지 않기 때문!
🔧 최신 QEMU 수동 설치하기
아래 내용 따라하면 어렵지 않아!
sudo apt update
# QEMU build를 위한 라이브러리 설치
sudo apt install -y git build-essential libglib2.0-dev libpixman-1-dev zlib1g-dev
# QEMU build를 위한 python 라이브러리 설치 용 venv 가상환경 세팅
python3 -m venv ./venv
source ./venv/bin/activate
# QEMU 코드 clone
git clone https://gitlab.com/qemu-project/qemu.git
cd qemu
# 타겟 보드 있는지 확인
grep -i "mps3-an536" -r hw/arm
# build를 위한 config 설정 (--prefix가 설치 위치)
./configure --target-list=arm-softmmu,arm-linux-user --prefix=/usr/local
# Trouble shooting
# (!) If you faced python package issues
# pip install xxxxx
# (!) Ninja Error
# sudo apt update
# sudo apt install ninja-build
# QEMU 코드 빌드! QEMU 설치!
make -j$(nproc)
sudo make install
# 환경 변수 체크 (기존에 설치 된 /usr/bin/qemu-system-arm 보다 높은 우선순위를 가지도록 순서 조정)
# Check if there is a /usr/local/bin
echo $PATH
# Check if it is working well
qemu-system-arm --version
qemu-system-arm -machine help | grep mps3-an536
🎉 최신 QEMU 설치 완료
sudo apt install qemu-system-arm 도 설치 했다면 /usr/bin , /usr/local/bin 두 경로에 qemu-system-arm이 있을 것임
- /usr/bin : apt install 로 설치한 것 → 구버전
- /usr/local/bin : 수동으로 설치한 것 → 최신
환경 변수 설정 상 /usr/local/bin 이 먼저 나오면 항상 최신 qemu-system-arm 을 실행 함!
728x90
'TIL > 2025' 카테고리의 다른 글
| QEMU Emulator(mps3-an536)에서 hello world 출력하기 (0) | 2025.04.05 |
|---|---|
| C/C++ 코드 빌드 과정 이해하기 (0) | 2025.02.14 |
| GitHub PR 머지 했는데, 원치 않는 Merge Commit이?! (0) | 2025.02.14 |
| git 커밋 메시지 에디터 vim으로 변경하기 (0) | 2025.02.14 |
| Jira : Epic, Story, Task 각 의미와 관계 (2) | 2025.02.06 |