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!
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 pi@192.168.1.47
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 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
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
- Detta dokument är inspirerat av Steg-för-steg-instruktion för korskompilering av senaste Qt-ramverket för Raspberry Pi. Stort tack till @abhiTronix.
- Tack till QT-ramverket för tillhandahållande av källfilerna