일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Visual Studio Code
- GPIO
- 리눅스
- Raspberry
- Debug
- bare metal
- AArch64
- QEMU
- STM32
- platformio
- C++
- Linux
- nucleo
- BeagleBone
- 디버깅
- Arduino
- AVR
- atmel
- vscode
- esp32
- Debugging
- USART
- yocto
- buildroot
- avr-gcc
- 라즈베리파이
- 아두이노
- UART
- Visual Studio
- raspberrypi
- Today
- Total
임베디드를 좋아하는 조금 특이한 개발자?
[Yocto Project] QT5 예제 실행하기 본문
- 개발 환경
개발 보드 : Raspberrypi 4
WSL2 (Ubuntu 22.04 LTS)
Yocto Project : Scarthgap
0. 사전 작업 (리눅스 이미지 빌드)
https://littlebitodd-developer.tistory.com/27
[Yocto Project] RaspberryPI4를 위한 리눅스 이미지 빌드
1. 개발 환경WSL2 (Ubuntu 22.04 LTS)개발 보드 : Raspberrypi 4 2. 필요 패키지 설치sudo apt install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 liblz4-tool locales python3 python3-git python3-jinja2
littlebitodd-developer.tistory.com
1. QT5 레이어 추가
# poky 폴더로 이동
cd poky
# QT5 레이어를 scarthgap release 버전으로 다운로드
git clone https://github.com/meta-qt5/meta-qt5.git --branch scarthgap
# bitbake 활성화 빌드 폴더로 이동
source oe-init-build-env build-rpi4
# meta-qt5 레이어 추가
bitbake-layers add-layer ../meta-qt5
2. local.conf 파일 수정
2.1. Init manager을 systemd로 변경
https://littlebitodd-developer.tistory.com/29
[Yocto Project] initialization manager를 systemd으로 변경
1. 현재 Initialization manager 확인 DISTRO_FEATURES 내 "systemd"가 있는지 확인합니다.bitbake-getvar DISTRO_FEATURES2. Initialization manager를 systemd로 변경- Kirkstone(4.0) 버전 이상/local.conf 에 다음과 같이 1줄을 추가
littlebitodd-developer.tistory.com
2.2. DISTRO_FEATURES 값 변경
DISTRO_FEATURES:remove = " x11 wayland vulkan ptest"
DISTRO_FEATURES:append = " directfb"
2.3. QT5 예제 추가
qt5의 예제는 "meta-qt5/recipes-qt/example" 폴더에 존재합니다. 이번에는 cinematicexperience 예제를 추가해보도록 하겠습니다.
IMAGE_INSTALL:append = " cinematicexperience"
3. 새로운 레이어 생성 및 추가
# meta-qt5env 생성
bitbake-layers create-layer ../meta-qt5Env
# meta-qt5env 추가
bitbake-layers add-layer ../meta-qt5Env
3.1. QT5 관련 레이어 추가
# meta-qt5env로 이동
cd ../meta-qt5env/
# qt5env 레시피 폴더 생성
mkdir recipes-qt5env
# qt5env 레시피 폴더로 이동
cd recipes-qt5env
# qt5의 설정을 위한 bbappend 파일 생성
touch qtbase_%.bbappend
qtbase_%.bbappend에 아래의 내용을 추가합니다.
PACKAGECONFIG:append = "gl gles2 eglfs directfb kms widgets journald"
4. 리눅스 이미지 빌드 및 설치
# build-rpi4 폴더로 이동
cd ../../build-rpi4
# 리눅스 이미지 빌드
bitbake core-image-base
# sd카드 확인
lsblk
# 이미지를 SD카드에 설치
sudo bmaptool copy ./tmp/deploy/images/raspberrypi4-64/core-image-base-raspberrypi4-64.rootfs.wic.bz2 /dev/sdd
5. 라즈베리파이로 리눅스 부팅 및 QT5 데모 실행
# QT5 플렛폼 지정을 위한 환경변수 추가
export QT_QPA_PLATFORM=eglfs
# QT5 데모 실행
/usr/share/cinematicexperience-1.0/Qt5_CinematicExperience
저의 경우 집에 있는 터치 디스플레이로 실행하였지만 일반적인 모니터로도 충분히 실행가능합니다.
'Embedded > Yocto Project' 카테고리의 다른 글
[Yocto Project] Linux kernel module 개발 (0) | 2025.04.08 |
---|---|
[Yocto Project] networkmanager를 통해 wifi 연결 (0) | 2025.04.01 |
[Yocto Project] 라즈베리파이 WIFI 연결 (0) | 2025.03.31 |
[Yocto Project] initialization manager를 systemd으로 변경 (0) | 2025.03.31 |
[Yocto Project] RaspberryPI4를 UART로 사용 (0) | 2025.03.27 |