Embedded Software - Qt cross compile setup script para sa Raspberry Pi 4 isang screenshot ng isang computer program

Qt cross compile setup

script para sa Raspberry Pi 4

Mga paunang bayad

Hardware

Host [PC / Laptop]: Anumang x86 / x86_64 AMD / Intel machine
Target [Raspberry Pi 4]: Raspberry Pi 4

Software

Host: Anumang Linux machine (Ubuntu 20.04 LTS Nasubok)
Target: Raspberry Pi 4 Linux 32 bit OS (nasubukan ang Raspbian Bullseye Lite)

Tala

Sa background ang cross compile toolchains para sa Raspberry Pi mula sa abhiTronix ay ginagamit.

### Iba pa Mga Kinakailangan sa Imbakan at Oras: Ang build directory ay tumatagal sa paligid ng ~ 10GB na puwang at tungkol sa 2 5 oras upang makumpleto (batay sa mga dependency & Mga Pagtutukoy ng Host Machine). Networking: Ang iyong Target Machine (Raspberry Pi) at Host Machine (kung saan ka cross compiling) parehong DAPAT magkaroon ng Internet Access, at DAPAT sa SAME Network upang sundin ang mga tagubilin na ito.

Mga Hakbang / Mga Setting para sa Target Machine (Raspberry Pi)

1. Magsimula mula sa Scratch (Opsyonal)

Mahalaga

Kung nagdala ka lang ng bagong Raspberry Pi o gusto mong magsimula mula sa simula sundin mo lang. Kung hindi man, kung mayroon ka nang iyong Raspberry Pi setup, tumatakbo, at Network Ready, pagkatapos ay laktawan lamang ang hakbang 2.

Tala

Ipagpalagay ng bahaging ito na mayroon kang atleast 10GB SDcard para sa pag install ng Raspbian (Stretch / Buster / Bullseye) OS at isang Laptop / PC para sa pag upload nito.

#### 1.1. Download Softwares & Ihanda ang SD card - I-download ang pinakabagong bersyon ng Raspbian (Bullseye) mula dito sa iyong laptop / pc. - Ikaw ay nangangailangan ng isang manunulat ng imahe upang isulat ang na-download na OS sa SD card (micro SD card sa aming kaso). Maaari mong gamitin ang Balena Etcher. - Ipasok ang SD card sa laptop / pc at patakbuhin ang manunulat ng imahe. Sa sandaling buksan, mag browse at piliin ang na download na Raspbian file ng imahe. Piliin ang tamang aparato, iyon ang drive na kumakatawan sa SD card.

Tala

Kung ang drive (o aparato) na napili ay naiiba mula sa SD card pagkatapos ay ang iba pang mga napiling drive ay magiging sira. KAYA MAG-INGAT!

- Kapag kumpleto na ang pagsulat, ilabas ang SD card at ipasok ito sa Raspberry Pi at buksan ito. Dapat itong magsimulang mag boot up. - Tandaan lamang na pagkatapos mag-boot ng Pi, maaaring may mga sitwasyon na ang mga kredensyal ng gumagamit tulad ng "username" at password ay tatanungin. Ang Raspberry Pi ay may default na username na 'pi' at password na 'raspberry' at kaya gamitin ito tuwing ito ay tinatanong.

1.2 Mag set up ng Network

Ngayon ang mayroon kang iyong Raspberry Pi up at Tumatakbo, oras nito upang ikonekta ito ang iyong network sa isa sa mga sumusunod na paraan:

2. Mag-set up ng SSH

  • Kung mayroon kang Monitor: Sa Raspberry Pi terminal, uri: 'sudo raspi-config' at menu ay dapat pop up sa iyong terminal. Para paganahin ang SSH, pumunta sa: 'Mga Interfacing Option' -> 'SSH' -> 'Oo', at I-click ang 'OK' para paganahin ito. Piliin ang 'Tapusin' sa wakas at lumabas.

  • Kung wala kang Monitor: Pagkatapos i-set up ang network, kung wala kang monitor o pinapatakbo mo ito nang malayo. Pagkatapos, paganahin ang SSH sa pamamagitan lamang ng pagkuha out ang iyong SD card, at hook ito ang iyong computer, at lumikha lamang ng isang walang laman na file na tinatawag na 'ssh' sa '/ boot / parition' path sa loob ng SD card. Ngayon ipasok pabalik SD card sa Raspberry Pi.

3. Buksan ang Terminal

  • Mula sa isa pang Laptop/PC gamit ang SSH: Upang kumonekta sa iyong Pi mula sa ibang computer, kopyahin at i-paste ang sumusunod na command sa terminal window ngunit palitan ang '192.160.1.47' gamit ang IP address ng Raspberry Pi.
    ssh [email protected] 
    Hihingi ito ng password, at kung hindi binago, default ito ('raspberry'), at kaya gamitin ito tuwing ito ay hinihiling.

Tala

Posible upang i configure ang iyong Raspberry Pi upang payagan ang pag access mula sa isa pang computer nang hindi na kailangang magbigay ng isang password sa bawat oras na kumonekta ka. Para sa karagdagang detalye, tingnan dito.

### 4. Kumuha ng mga script

Kumonekta sa iyong Pi sa ssh at i download ang zip file:

ssh [email protected]

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

Maaari mo ring i download ang zip file sa pamamagitan ng browser mula dito.

Gawin ang script qt-cross-compile-script-pi4.sh executable at isagawa ito:

sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh
Pagkatapos ng ilang sandali ang lahat ng kinakailangang mga pakete ay naka install, ang mga kinakailangang direktoryo ay nilikha at ang mga symlink ay tama na nakatakda.

Mahalaga

Siguraduhin na ang iyong Raspberry Pi at ang Host machine na ito (kung saan ka cross compiling) DAPAT nasa SAME Network.

Mga Hakbang / Mga Setting para sa Host Machine (Linux Ubuntu)

Para sa pagsubok, gumamit kami ng isang virtual machine (vmware) na may malinis na bersyon ng Ubuntu 20.04 LTS.

1. Mag download ng ZIP file

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

Maaari mo ring i download ang zip file sa pamamagitan ng browser mula dito.

2. Gawin ang script qt-cross-compile-script-pi4.sh executable at isagawa ito

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

3. Baguhin ang mga variable sa script

Kailangan mong baguhin ang ip address (raspberry_ip) ng iyong raspberry pi sa script at kung binago mo ang user (raspberry_user) at password (raspberry_pwd) ng raspberry.

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

4. Isagawa ang script

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

Ang script ay gumaganap ng mga sumusunod na aksyon:

  • i-install ang lahat ng mga kinakailangang pakete
  • Lumikha ng mga kinakailangang direktoryo ('~/rpi-qt')
  • download at kunin ang mga mapagkukunan ng Qt
  • patch Qt pinagmulan
  • download at kunin ang cross compiler
  • rsync file mula sa prambuwesas pi
  • download symlinker at set symlinks
  • i-configure ang Qt build
  • gumawa at gumawa ng install Qt build
  • rsync Qt binaries sa prambuwesas

Huling Hakbang para sa Target Machine (Raspberry Pi)

Update linker sa Raspberry Pi

Ipasok ang sumusunod na utos upang i update ang aparato pagpapaalam sa linker upang mahanap ang mga bagong QT binary file:

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

I configure ang Qt Creator para sa cross compiling

Basahin ang blog Configuring Qt-Creator sa Ubuntu 20 Lts para sa cross-compilation para sa pagsasama ng mga natipon na binaries (folder '~/rpi-qt/qt5.15') sa Qt Creator.  

Lisensya sa Copyright

Copyright © 2022 Interelectronix e.K.
Ang source code na ito ng Proyekto ay lisensyado sa ilalim ng GPL-3.0 lisensya.

Mga Pagkilala