임베디드 소프트웨어 - Raspberry Pi 4 용 Qt 크로스 컴파일 설정 스크립트 : 컴퓨터 프로그램의 스크린 샷

Qt 크로스 컴파일 설정

Raspberry Pi 4용 스크립트

전제 조건

하드웨어

호스트[PC/노트북]: 모든 x86/x86_64 AMD/Intel 머신
대상[Raspberry Pi 4]: Raspberry Pi 4

소프트웨어

호스트: 모든 Linux 머신(Ubuntu 20.04 LTS 테스트 완료)
대상: Raspberry Pi 4 Linux 32비트 OS(Raspbian Bullseye Lite 테스트 완료)

참고

백그라운드에는 abhiTronix의 Raspberry Pi용 크로스 컴파일 툴체인이 사용됩니다.

기타

저장 공간 및 시간 요구 사항: 빌드 디렉터리는 약 10GB의 공간을 차지하며 완료하는 데 약 2~5시간이 소요됩니다(종속성 및 호스트 머신 사양 기준).
네트워킹: 이 지침을 따르려면 대상 머신(Raspberry Pi)과 호스트 머신(교차 컴파일하는 경우) 모두 인터넷에 연결되어 있어야 하며 동일한 네트워크에 연결되어 있어야 합니다.

대상 머신(Raspberry Pi)용 단계/설정

1. 처음부터 시작(선택 사항)

중요

Raspberry Pi를 새로 사용하기 시작했거나 처음부터 다시 시작하고 싶으시면 이 지침을 따르세요. 그 외, Raspberry Pi 설정, 실행, 네트워크가 이미 준비되어 경우 2단계로 넘어가면 됩니다.

참고

이 섹션에서는 Raspbian(Stretch/Buster/Bullseye) OS를 설치하기 위한 최소 10GB SD카드와 이를 업로드하기 위한 노트북/PC가 있다고 가정합니다.

1.1. 소프트웨어 다운로드 및 SD 카드 준비

  • 여기에서 노트북/PC에 Raspbian(Bullseye)의 최신 버전을 다운로드하세요.
  • 다운로드한 OS를 SD 카드(이 경우 마이크로 SD 카드)에 기록하려면 이미지 라이터가 필요합니다. 이미지 라이터로 Balena Etcher를 사용할 수 있습니다.
  • 노트북/PC에 SD 카드를 삽입하고 이미지 라이터를 실행하세요. 이미지 라이터가 열리면 다운로드한 Raspbian 이미지 파일을 찾아 선택하세요. 올바른 장치, 즉 SD 카드를 나타내는 드라이브를 선택하세요.

참고

선택한 드라이브(또는 장치)가 SD 카드가 아닌 경우 선택한 다른 드라이브가 손상됩니다. 그러니 조심하세요!

- 기록이 완료되면 SD 카드를 꺼내 Raspberry Pi에 삽입하고 켜세요. 그러면 부팅이 시작될 것입니다. - Pi를 부팅한 후에 "사용자 이름" 및 암호 등의 사용자 자격 증명을 묻는 경우가 있을 수 있습니다. Raspberry Pi는 기본 사용자 이름 'pi' 와 암호 'raspberry'와 함께 제공되므로 필요할 때마다 사용하세요.

1.2 네트워크 설정

Raspberry Pi를 켜고 실행했습니다. 이제 다음 방법 중 하나로 네트워크에 연결할 차례입니다.

2. SSH 설정

  • 모니터가 있는 경우: Raspberry Pi 단말기에 'sudo raspi-config'를 입력하면 단말기에 메뉴가 표시됩니다. SSH를 활성화하려면 'Interfacing Options'(옵션 인터페이스) - > 'SSH' - > 'Yes'(예)로 이동하여 'OK'(확인)을 클릭하여 활성화하세요. 마지막으로, 'Finish'(완료)를 선택하고 종료하세요.

  • 모니터가 없는 경우: 네트워크를 설정한 후, 모니터가 없거나 원격으로 작동하는 경우. 이 경우, SD 카드를 꺼내어 컴퓨터에 연결하고 SD 카드 내부의 '/boot/parition' 경로에 'ssh'라는 빈 파일을 생성하여 SSH를 활성화하세요. 이제 다시 SD 카드를 Raspberry Pi에 삽입하세요.

3. 단말기 열기

  • SSH를 사용하는 다른 노트북/PC에서: 다른 컴퓨터에서 Pi에 연결하려면 다음 명령어를 복사하여 단말기 창에 붙여넣고 '192.160.1.47'을 Raspberry Pi의 IP 주소로 바꾸세요.
ssh pi@192.168.1.47 

암호를 요청하고 변경하지 않으면 기본값('raspberry')으로 설정되므로 이를 언제든지 사용하세요.

참고

연결할 때마다 암호를 제공할 필요 없이 다른 컴퓨터에서 액세스할 수 있도록 Raspberry Pi를 구성할 수 있습니다. 자세한 내용은 여기를 참조하세요.

4. 스크립트 가져오기

ssh로 Pi에 연결하고 zip 파일을 다운로드하세요:

ssh pi@192.168.1.47

wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4

브라우저를 통해 여기에서 zip 파일을 다운로드할 수도 있습니다.

Qt-cross-compile-script-pi4.sh 스크립트를 실행 가능 상태로 만들어 실행하세요:

sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh

잠시 후 필요한 모든 패키지가 설치되고 필요한 디렉터리가 생성되고 symlink가 올바르게 설정됩니다.

중요

(크로스 컴파일하는 경우) Raspberry Pi와 이 호스트 머신은 동일한 네트워크에 연결되어 있어야 합니다.

호스트 머신용 단계/설정(Linux Ubuntu)

테스트를 위해, 저희는 깨끗한 Ubuntu 20.04 LTS 버전이 있는 가상 머신(vmware)을 사용했습니다.

1. ZIP 파일 다운로드

wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4

브라우저를 통해 여기에서 zip 파일을 다운로드할 수도 있습니다.

2. Qt-cross-compile-script-pi4.sh 스크립트를 실행 가능 상태로 만들어 실행하세요

chmod +x qt-cross-compile-script-host.sh

3. 스크립트의 변수 변경

스크립트에서 Raspberry Pi의 ip 주소(raspberry_ip)를 변경해야 하며 Raspberry Pi의 사용자(raspberry_user) 및 암호(raspberry_pwd)를 변경한 경우 변경해야 합니다.

nano qt-cross-compile-script-host.sh

4. 스크립트 실행

sudo ./qt-cross-compile-script-host.sh

스크립트는 다음 작업을 수행합니다.

  • 필요한 모든 패키지 설치
  • 필요한 디렉터리 생성('~/rpi-qt')
  • Qt 소스 다운로드 및 추출
  • Qt 소스 패치
  • 크로스 컴파일러 다운로드 및 추출
  • Raspberry Pi의 rsync 파일
  • symlinker 다운로드 및 symlinks 설정
  • Qt 빌드 구성
  • Qt 빌드를 만들고 설치
  • rsync Qt 바이너리를 raspberry에

대상 머신(Raspberry Pi)용 마지막 단계

Raspberry Pi에서 링커 업데이트

다음 명령어을 입력하여 링커가 새 QT 바이너리 파일을 찾도록 장치를 업데이트하세요:

echo /usr/local/qt5.15/lib | sudo tee /etc/ld.so.conf.d/qt5.15.conf
sudo ldconfig

크로스 컴파일을 위한 Qt Creator 구성

Qt Creator의 컴파일된 바이너리(폴더 '~/rpi-qt/qt5.15`')를 포함하려면 크로스 컴파일을 위해 Ubuntu 20 Lts의 Qt-Creator 구성을 읽어보세요.

저작권 라이선스

Copyright © 2022 Interelectronix e.K.
이 프로젝트 소스 코드는 GPL-3.0 라이선스에 따라 라이선스가 부여됩니다.

감사 표시