Inbäddad programvara - Qt korskompilera installationsskript för Raspberry Pi 4, en skärmdump av ett datorprogram

Konfigurera Qt-korskompilering

skript för Raspberry Pi 4

Förutsättningar

Hårdvara

Värd-[PC/laptop]: Alla x86/x86_64 AMD/Intel-maskiner
Mål [Raspberry Pi 4]: Raspberry Pi 4

Programvara

Värd: Alla Linux-maskiner (Ubuntu 20.04 LTS-testad)
Mål: Raspberry Pi 4 Linux 32-bitars OS (Raspbian Bullseye Lite-testad)

Obs!

I bakgrunden används korskompilerande verktygskedjor för Raspberry Pi från abhiTronix.

Övrigt

Lagrings- och tidskrav: Byggkatalogen upptar cirka ~10 GB utrymme och tar cirka 2-5 timmar att slutföra (baserat på beroenden och specifikationer för värdmaskinen).
Nätverk: Både din målmaskin (Raspberry Pi) och värdmaskin (där du korskompilerar) MÅSTE ha internetåtkomst, och MÅSTE vara anslutna till SAMMA nätverk för att följa dessa instruktioner.

Steg/inställningar för målmaskin (Raspberry Pi)

1. Börja från början (valfritt)

Viktigt

Om du nyss köpt en ny Raspberry Pi eller vill börja från början – häng med! Om du redan har konfigurerat din Raspberry Pi, den körs, och är nätverksredo kan du hoppa till steg 2.

Obs!

Det här avsnittet förutsätter att du har minst ett SD-kort med 10 GB utrymme för installation av Raspbian (Stretch/Buster/Bullseye) OS och en laptop/PC för att ladda upp det.

1.1. Ladda ner programvara och förbered SD-kortet

  • Ladda ner den senaste versionen av Raspbian (Bullseye) härifrån på din laptop/PC.
  • Du kommer att behöva en bildskrivare för att skriva det nedladdade operativsystemet till SD-kortet (micro SD-kort i vårt fall). Du kan använda Balena Etcher.
  • Sätt i SD-kortet i din laptop/PC och kör bildskrivaren. Efter att du har öppnat den bläddrar och väljer du den nedladdade Raspbian-bildfilen. Välj rätt enhet, det vill säga den enhet som representerar SD-kortet.

Obs!

Om den valda disken (eller enheten) skiljer sig från SD-kortet kommer den andra valda disken att skadas. SÅ VAR FÖRSIKTIG!

- När skrivningen är klar matar du ut SD-kortet, sätter in det i Raspberry Pi och slår på den. Den bör påbörja sin uppstart. - Kom ihåg – efter uppstart av Pi kan det finnas situationer när användaruppgifter som "användarnamn" och lösenord kommer att efterfrågas. Raspberry Pi levereras med användarnamnet "pi" och lösenordet "raspberry" som standard, så använd dessa när det efterfrågas.

1.2 Konfigurera nätverk

Nu när din Raspberry Pi är igång är det dags att ansluta den till ditt nätverk genom ett av följande sätt:

  • Om du har en skärm: Anslut den till din raspberry pi tillsammans med ett tangentbord och mus för att navigera, och följ denna guide.
  • Om du inte har en skärm: Följ denna guide

2. Konfigurera SSH

  • Om du har en skärm: På Raspberry Pi-terminalen skriver du: "sudo raspi-config" – menyn bör dyka upp på din terminal. För att aktivera SSH går du till: "Interfacing Options" -> "SSH" -> "Yes" och klickar på "OK" för att aktivera det. Välj "Finish" och avsluta.

  • Om du inte har en skärm: När du har konfigurerat nätverket, om du inte har en skärm eller om du använder den på distans. Aktivera sedan SSH genom att ta ut ditt SD-kort, och koppla det till datorn, och helt enkelt skapa en tom fil som heter "ssh" i "/boot/parition"-sökvägen inuti SD-kortet. Sätt nu tillbaka SD-kortet i Raspberry Pi.

3. Öppna Terminal

  • Från en annan laptop/PC med SSH: För att ansluta till din Pi från en annan dator ska du kopiera och klistra in följande kommando i terminalfönstret, men ersätt "192.160.1.47" med IP-adressen till Raspberry Pi.
ssh [email protected] 

Den kommer att be om lösenord, och om det inte ändrats gäller standardlösenordet ("raspberry"), så använd det när det efterfrågas.

Obs!

Det är möjligt att konfigurera din Raspberry Pi för att tillåta åtkomst från en annan dator utan att behöva ange ett lösenord varje gång du ansluter. För mer information, se här.

4. Hämta skript

Anslut till din Pi med ssh och ladda ner zip-filen:

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

Du kan även ladda ner zip-filen via din webbläsare härifrån.

Gör skriptet qt-cross-compile-script-pi4.sh körbart och kör det:

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

Efter ett tag är alla nödvändiga paket installerade, nödvändiga kataloger skapas och symboliska länkar är korrekt konfigurerade.

Viktigt

Se till att din Raspberry Pi och denna värdmaskin (där du korskompilerar) är på SAMMA nätverk.

Steg/inställningar för värdmaskin (Linux Ubuntu)

För testning använde vi en virtuell maskin (vmware) med en ren Ubuntu 20.04 LTS-version.

1. Ladda ner ZIP-fil

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

Du kan även ladda ner zip-filen via din webbläsare härifrån.

2. Gör skriptet qt-cross-compile-script-pi4.sh körbart och kör det

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

3. Ändra variabler i skriptet

Du måste ändra ip-adressen (raspberry_ip) för din Rapsberry Pi i skriptet och om du ändrat användaren (raspberry_user) och lösenordet (raspberry_pwd) för din Raspberry.

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

4. Kör skriptet

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

Skriptet utför följande åtgärder:

  • installerar alla paket som behövs
  • skapar nödvändiga kataloger ("~/rpi-qt")
  • laddar ner och extrahera Qt-källor
  • patchar Qt-källor
  • laddar ner och extraherar korskompilator
  • rsync filer från Raspberry Pi
  • laddar ner symlinker och konfigurera symboliska länkar
  • konfigurerar Qt-bygge
  • skapar och installerar Qt-bygge
  • rsync Qt-binärer till Raspberry

Sista steg för målmaskin (Raspberry Pi)

Uppdatera länkare på Raspberry Pi

Ange följande kommando för att uppdatera enheten så att länken kan hitta de nya binära QT-filerna:

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

Konfigurera Qt Creator för korskompilering

Läs blogginlägget Konfigurera Qt-Creator på Ubuntu 20 Lts för korskompilering för att inkludera de kompilerade binära filerna (mappen ~/rpi-qt/qt5.15) i Qt Creator.

Upphovsrättslicens

Copyright © 2022 Interelectronix e.K.
Detta projekts källkod är licensierad under licensen GPL-3.0.

Tack