Embedded Software - Qt cross compile setup scripts voor Raspberry Pi 4 een screenshot van een computerprogramma

Qt-cross-compile instellen

scripts voor Raspberry Pi 4

Vereisten

Hardware

Host[pc/laptop]: elke x86/x86_64 AMD/Intel-machine
Doel [Raspberry Pi 4]: Raspberry Pi 4

Software

Host: Elke Linux-machine (Ubuntu 20.04 LTS-getest)
Doel: Raspberry Pi 4 Linux 32-bit OS (Raspbian Bullseye Lite getest)

Opmerking

Op de achtergrond worden de cross compile toolchains voor Raspberry Pi van abhiTronix gebruikt.

Overige

opslag- en tijdsvereisten: De build-directory neemt ongeveer ~10 GB ruimte in beslag en ongeveer 2-5 uur om te voltooien (op basis van afhankelijkheden en specificaties van de hostmachine).
Netwerken: uw Target Machine (Raspberry Pi) en Host Machine (waar u cross-compileren) MOETEN beide toegang tot internet hebben, en MOETEN op HETZELFDE netwerk zitten om deze instructies te volgen.

Stappen/instellingen voor doelmachine (Raspberry Pi)

1. Starten vanaf nul (optioneel)

Belangrijk

Als u net een nieuwe Raspberry Pi heeft gekocht of vanaf nul wilt beginnen, volg ons dan gewoon. Als u echter uw Raspberry Pi ingesteld heeft, geactiveerd en netwerkklaar hebt, gaat u gewoon door naar stap 2.

Opmerking

Deze sectie gaat ervan uit dat u ten minste een 10 GB SD-kaart voor het installeren van Raspbian (Stretch/Buster/Bullseye) OS en een laptop/pc voor het uploaden ervan heeft.

1.1. Software downloaden en de SD-kaart voorbereiden

  • Download de nieuwste versie van Raspbian (Bullseye) vanaf hier op uw laptop/pc.
  • U hebt een image-writer nodig om het gedownloade besturingssysteem naar de SD-kaart te schrijven (micro SD-kaart in ons geval). U kunt Balena Etcher gebruiken.
  • Plaats de SD-kaart in de laptop/pc en voer de image-writer uit. Eenmaal geopend, bladert u naar en selecteert u het gedownloade Raspbian-image-bestand. Selecteer het juiste apparaat, dat is het station dat de SD-kaart vertegenwoordigt.

Opmerking

Als het geselecteerde station (of apparaat) verschilt van de SD-kaart, wordt het andere geselecteerde station beschadigd. WEES DUS VOORZICHTIG!

- Zodra het schrijven is voltooid, werpt u de SD-kaart uit en plaatst u deze in de Raspberry Pi en schakelt u deze in. Het zou moeten opstarten. - Houd er rekening mee dat er na het opstarten van de Pi situaties kunnen zijn waarin de gebruikersreferenties zoals de "gebruikersnaam" en het wachtwoord worden gevraagd. Raspberry Pi wordt geleverd met een standaard gebruikersnaam `pi` en wachtwoord `raspberry` en dus gebruik het wanneer het wordt gevraagd.

1.2 Netwerk instellen

Nu uw Raspberry Pi draait, is het tijd om het te verbinden met uw netwerk op een van de volgende manieren:

2. SSH instellen

  • Als u Monitor hebt: Typt u op de Raspberry Pi-terminal: sudo raspi-config en het menu verschijnt op uw terminal. Om SSH in te schakelen, gaat u naar: Interfacing Options -> SSH -> Yes en klik op OK om het in te schakelen. Kies Finish en sluit af.

  • Als u geen Monitor hebt: Na het instellen van het netwerk, als u geen monitor hebt of als u deze op afstand bedient. Schakel SSH vervolgens in door gewoon uw SD-kaart eruit te halen, en verbind deze met uw computer, en maak gewoon een leeg bestand aan met de naam ssh in het pad /boot/parition op de SD-kaart. Plaats nu de SD-kaart terug in de Raspberry Pi.

3. Open Terminal

  • Van een andere laptop/pc met behulp van SSH: Om verbinding te maken met uw Pi vanaf een andere computer, kopieert en plakt u het volgende commando in het terminalvenster, maar vervangt u 192.160.1.47 door het IP-adres van de Raspberry Pi.
ssh pi@192.168.1.47 

Het vraagt om een wachtwoord, en als het niet wordt gewijzigd, is het standaard (raspberry), en gebruik dit dus wanneer het wordt gevraagd.

Opmerking

Het is mogelijk om uw Raspberry Pi te configureren om toegang toe te staan vanaf een andere computer zonder dat u elke keer dat u verbinding maakt een wachtwoord hoeft op te geven. Voor meer details, zie hier.

4. Krijg scripts

Maak verbinding met uw Pi met ssh en download het zip-bestand:

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

U kunt het zip-bestand ook downloaden via de browser vanaf hier.

Maak het script qt-cross-compile-script-pi4.sh uitvoerbaar en voer het uit:

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

Na een tijdje zijn alle benodigde pakketten geïnstalleerd, worden de benodigde mappen aangemaakt en zijn de symbolische koppelingen correct ingesteld.

Belangrijk

Zorg ervoor dat uw Raspberry Pi en deze Host-machine (waar u cross-compiling uitvoert) op HETZELFDE netwerk staan.

Stappen/instellingen voor Host Machine (Linux Ubuntu)

Voor het testen gebruikten we een virtuele machine (vmware) met een schone Ubuntu 20.04 LTS versie.

1. Zip-bestand downloaden

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

U kunt het zip-bestand ook downloaden via de browser vanaf hier.

2. Maak het script qt-cross-compile-script-pi4.sh uitvoerbaar en voer het uit

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

3. Variabelen in het script wijzigen

U moet het IP-adres (raspberry_ip) van uw Raspberry Pi in het script wijzigen en als u de gebruiker (raspberry_user) en het wachtwoord (raspberry_pwd) van de Raspberry hebt gewijzigd.

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

4. Voer het script uit

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

Het script voert de volgende acties uit:

  • installeer alle benodigde pakketten
  • benodigde mappen aanmaken (~/rpi-qt)
  • downloaden en uitpakken van Qt-bronnen
  • patchen Qt-bronnen
  • downloaden en uitpakken van cross-compiler
  • rsync bestanden van Raspberry Pi
  • symlinker downloaden en symlinks instellen
  • Qt build configureren
  • make en make install Qt build
  • rsync Qt-binaries naar Raspberry

Laatste stap voor doelmachine (Raspberry Pi)

Update linker op Raspberry Pi

Voer de volgende opdracht in om het apparaat bij te werken, zodat de linker de nieuwe QT-binaire bestanden kan vinden:

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

Qt Creator configureren voor cross-compiling

Lees de blog Qt-Creator configureren op Ubuntu 20 Lts voor cross-compilatie voor het opnemen van de gecompileerde binaire bestanden (map ~/rpi-qt/qt5.15) in Qt Creator.

Auteursrechtlicentie

Copyright © 2022 Interelectronix e.K.
Deze broncode van het project is gelicentieerd onder de GPL-3.0 licentie.

Dankbetuigingen