* WSL2 Ubunttu 20.04LTS 환경으로 가정하고 설명한다.
* WSL2 Ubunttu 20.04LTS 환경 설정은 이전 글을 참고한다.
1. 기본 호스트 패키지 설치
$ 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 python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev
pylint3 xterm
2. 작업 디렉토리를 생성
$ mkdir ~/work
3. repo 유틸 설정
$ sudo apt-get install curl
$ mkdir ~/bin
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ export PATH=~/bin:$PATH
4. git 계정 설정 (사용자 정보를 설정)
$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --list
5. i.MX Yocto 프로젝트 설정
$ mkdir imx-yocto-bsp
$ cd imx-yocto-bsp
$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-zeus -m imx-5.4.70-2.3.0.xml
$ repo sync
6. i.MX 8 XWayland 설정 (호스트 리눅스 재부팅시 매번 설정 필요함)
$ DISTRO=fsl-imx-xwayland MACHINE=imx8mqevk source imx-setup-release.sh -b build-xwayland
7-1. QT 제외 빌드 (6번 실행 후 진행해야 함)
$ bitbake imx-image-multimedia
* 아래와 같은 에러가 발생하는 경우
다음과 같이 처리한 후 다시 7-1 또는 7-2 항목을 실행한다.
sudo apt-get install -y linux-headers-generic
sudo ln -s /lib/modules/5.4.0-105-generic /lib/modules/5.10.16.3-microsoft-standard-WSL2
7-2. QT 5와 머신러닝 기능 포함 빌드
qt 툴 체인을 설치하고, 구성한다.
기본 설치 경로는 "/opt/fsl-imx-xwayland/5.4-zeus"이므로 별도로 설정하지는 않는다.
bitbake meta-toolchain-qt5
cd tmp/deploy/sdk/
./fsl-imx-xwayland-glibc-x86_64-meta-toolchain-qt5-aarch64-imx8mqevk-toolchain-5.4-zeus.sh
쉘 스크립트 파일은 다음과 같은 형태이다. (위에 파일명과 다를 수도 있다.)
fsl-imx-xwayland-glibc-x86_64-meta-toolchain-qt5-aarch64-*-toolchain-*.*-*.sh
7-2-1 qmake.conf 파일 수정
다음 커맨드를 수행하여 gedit 편집기를 설치한다.
sudo apt-get install gedit
qmake.conf 파일이 존재하는 경로로 이동하여 관리자 권한으로 qmake.conf 파일을 연다.
cd /opt/fsl-imx-xwayland/5.4-zeus/sysroots/aarch64-poky-linux/usr/lib/mkspecs/linux-aarch64-gnu-g++
sudo gedit qmake.conf
다음과 같이 파일 내용을 수정한다.
#
# qmake configuration for building with aarch64-poky-linux-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = aarch64-poky-linux-gcc
QMAKE_CXX = aarch64-poky-linux-g++
QMAKE_LINK = aarch64-poky-linux-g++
QMAKE_LINK_SHLIB = aarch64-poky-linux-g++
QMAKE_LFLAGS += --sysroot=/opt/fsl-imx-xwayland/5.4-zeus/sysroots/aarch64-poky-linux
QMAKE_CXXFLAGS += --sysroot=/opt/fsl-imx-xwayland/5.4-zeus/sysroots/aarch64-poky-linux
# modifications to linux.conf
QMAKE_AR = aarch64-poky-linux-ar cqs
QMAKE_OBJCOPY = aarch64-poky-linux-objcopy
QMAKE_NM = aarch64-poky-linux-nm -P
QMAKE_STRIP = aarch64-poky-linux-strip
load(qt_config)
7-2-2 qt rootfs 수행
수정 사항을 저장하고 파일을 닫는다.
"bitbake"를 수행할 경로로 이동하여 qt rootfs를 수행한다.
cd /home/user/imx-yocto-bsp/build-xwayland
bitbake fsl-image-qt5-validation-imx
아래와 같은 에러가 발생하는 경우에는
"python3-pybind11_2.5.0.bb" 파일에서
EXTRA_OECMAKE = "-DPYBIND11_TEST=OFF"
부분을 아래와 같이 수정한다.
EXTRA_OECMAKE = "-DPYBIND11_TEST=OFF \
-DPYTHON_EXECUTABLE=${RECIPE_SYSROOT_NATIVE}/usr/bin/python3-native/python3.7 \
"
'일반 개발 리소스 > WSL2' 카테고리의 다른 글
WSL2 Ubuntu Terminal에 powerlevel10k 적용 (0) | 2022.05.26 |
---|---|
imx8mq Qt 응용 프로그램 빌드 확인 (0) | 2022.03.30 |
WSL2에서 Ubuntu 20.04LTS 설치 및 기본 설정 (0) | 2022.03.25 |