1
0
Fork 0
Browse Source

'README.md' módosítása

master
Varga Pál 4 years ago
parent
commit
b2b6308c50
  1. 46
      README.md

46
README.md

@ -27,7 +27,7 @@ reboot
### Forráskódok telepítésének engedélyezése
Ehhez az apt konfigurációs fájljában ki kell venni a kommentet az src sorok elejéről
Ehhez az apt konfigurációs fájljában ki kell venni a kommentet az src sorok elejéről.
```
/etc/apt/sources.list -> deb-src http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
apt-get update
@ -35,12 +35,12 @@ apt-get update
### Csomagok telepítése
A Qt keretrendszer fordításához minimálisan szükséges csomagok
A Qt keretrendszer fordításához minimálisan szükséges csomagok.
```
apt-get install gdbserver build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libsqlite3-dev libssl-dev libpng-dev libjpeg-dev libglib2.0-dev libraspberrypi-dev
```
További funkciókhoz opcionálisan telepítendő csomagok
További funkciókhoz opcionálisan telepítendő csomagok.
| Funkció | Szükséges csomagok |
| ---------------- | -------------------------- |
@ -71,7 +71,7 @@ apt-get install gcc git bison python gperf pkg-config gdb-multiarch build-essent
**Létező SSH kulcsok ellenőrzése**
Először ellenőrizni kell, hogy vannak-e a felhasználónak ssh kulcsai? Ehhez az alábbi parancsot kell kiadni
Először ellenőrizni kell, hogy vannak-e a felhasználónak ssh kulcsai? Ehhez az alábbi parancsot kell kiadni.
```
ls ~/.ssh
```
@ -79,7 +79,7 @@ Ha itt látható egy id_rsa és egy id_rsa.pub fájl, akkor vannak kulcsok, nem
**SSH kulcsok generálása**
Új ssh kulcsok generálása
Új ssh kulcsok generálása.
```
ssh-keygen
```
@ -87,11 +87,11 @@ A program meg fogja kérdezni, hogy hova tegye az új kulcsokat, az alapértelme
Ezután rá fog kérdezni a privát kulcs jelmondatára, nem kötelező megadni, ha nem szükséges simán enter-t kell nyomni itt és a megerősítő kérdésen is.
A létrejött kulcsok ellenőrzése
A létrejött kulcsok ellenőrzése.
```
ls ~/.ssh
```
Itt legalább ezt látni kell
Itt legalább ezt kell látni.
```
id_rsa id_rsa.pub
```
@ -101,11 +101,11 @@ Az id_rsa.pub a publikus kulcs, ezt át kell másolni a Raspberry Pi-re.
**Publikus kulcs másolása a Raspberry Pi-re**
A hoszt gépről történik a csatlakozás, ehhez a felhasználó publikus kulcsát csatolni kell a Raspberry Pi-n lévő _**authorized_keys**_ fájlhoz, ssh-n való átküldés útján
A hoszt gépről történik a csatlakozás, ehhez a felhasználó publikus kulcsát csatolni kell a Raspberry Pi-n lévő _**authorized_keys**_ fájlhoz, ssh-n való átküldés útján.
```
ssh-copy-id <FELHASZNÁLÓNÉV>@<IP-CÍM>
```
Ehhez jelszavas hitelesítés szükséges. Ha ez megvan, meg lehet próbálni a jelszó nélküli kapcsolódást
Ehhez jelszavas hitelesítés szükséges. Ha ez megvan, meg lehet próbálni a jelszó nélküli kapcsolódást.
```
ssh <FELHASZNÁLÓNÉV>@<IP-CÍM>
```
@ -114,7 +114,7 @@ ssh <FELHASZNÁLÓNÉV>@<IP-CÍM>
**Könyvtár struktúra létrehozása**
Az ~/rpi4 könytár lesz a kiindulási pont, létrehozás után legyen az az aktuális könyvtár
Az ~/rpi4 könytár lesz a kiindulási pont, létrehozás után legyen az az aktuális könyvtár.
```
mkdir -p ~/rpi4/build
mkdir -p ~/rpi4/qt5.15.2
@ -131,7 +131,7 @@ A hoszton ehhez szükséges az rsync, ha nincs, installálni kell.
apt-get install rsync
```
Indulhat a másolás, ezt a lépést minden alkalommal el kell végezni, ha módosul a könyvtárak tartalma
Indulhat a másolás, ezt a lépést minden alkalommal el kell végezni, ha módosul a könyvtárak tartalma.
```
rsync -avz --rsync-path="sudo rsync" --delete <FELHASZNÁLÓNÉV>@<IP-CÍM>:/lib sysroot
rsync -avz --rsync-path="sudo rsync" --delete <FELHASZNÁLÓNÉV>@<IP-CÍM>:/usr/include sysroot/usr
@ -139,7 +139,7 @@ rsync -avz --rsync-path="sudo rsync" --delete <FELHASZNÁLÓNÉV>@<IP-CÍM>:/usr
rsync -avz --rsync-path="sudo rsync" --delete <FELHASZNÁLÓNÉV>@<IP-CÍM>:/opt/vc sysroot/opt
```
Az átmásolt könyvtárak tele vannak abszolút szimbolikus linkekkel, ezeket át kell konvertálni relatív linkekké, ehhez egy kis python szkript szükséges
Az átmásolt könyvtárak tele vannak abszolút szimbolikus linkekkel, ezeket át kell konvertálni relatív linkekké, ehhez egy kis python szkript szükséges.
```
wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py
chmod +x sysroot-relativelinks.py
@ -148,28 +148,28 @@ chmod +x sysroot-relativelinks.py
### Qt fordítása
Forráscsomag letöltése
Forráscsomag letöltése.
```
wget https://download.qt.io/official_releases/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz
```
Kicsomagolás
Kicsomagolás.
```
tar xvf qt-everywhere-src-5.15.2.tar.xz
```
Az mkspecs könyvtárat a fordítóhoz kell igazítani
Az mkspecs könyvtárat a fordítóhoz kell igazítani.
```
cp -R qt-everywhere-src-5.15.2/qtbase/mkspecs/linux-arm-gnueabi-g++ qt-everywhere-src-5.15.2/qtbase/mkspecs/linux-arm-gnueabihf-g++
sed -i -e 's/arm-linux-gnueabi-/arm-linux-gnueabihf-/g' qt-everywhere-src-5.15.2/qtbase/mkspecs/linux-arm-gnueabihf-g++/qmake.conf
```
Indulhat a konfigurálás
Indulhat a konfigurálás.
```
cd build
./qt-everywhere-src-5.15.2/configure -release -no-opengl -no-eglfs -linuxfb -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf- -sysroot ~/rpi4/sysroot -prefix /usr/local/qt5.15.2 -extprefix ~/rpi4/qt5.15.2 -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtwebengine -skip qtlocation -skip qtlottie -skip qtsensors -nomake tests -make libs -pkg-config -no-use-gold-linker -v -recheck-all
```
A _**-device**_ opciót a céleszköznek megfelelően kell beállítani:
A _**-device**_ opciót a céleszköznek megfelelően kell beállítani, az elérhető eszközök megtalálhatók a ~/rpi4/qt-everywhere-src-5.15.2/qtbase/mkspecs/devices könyvtárban, Raspberry Pi változatokhoz az aábbi táblázatban lévők valók:
| Raspberry Pi modell | ARM architectúra verzió | -device opció |
| ------------------- | -----------------------:| ---------------------- |
| Raspberry Pi 4 | ARMv8 | linux-rasp-pi4-v3d-g++ |
@ -178,23 +178,23 @@ A _**-device**_ opciót a céleszköznek megfelelően kell beállítani:
| Raspberry Pi 2 | ARMv7 | linux-rasp-pi2-g++ |
| Raspberry Pi 1 | ARMv6 | linux-rasp-pi-g++ |
A mysql plugin fordításához (ha szükséges) meg kell adni, hogy hol találhatók a mysql fejléc fájlai és osztott könyvtárai, az előző parancshoz még ezt kell hozzáfűzni
A mysql plugin fordításához (ha szükséges) meg kell adni, hogy hol találhatók a mysql fejléc fájlai és osztott könyvtárai, az előző parancshoz még ezt kell hozzáfűzni.
```
-sql-mysql MYSQL_INCDIR=~/rpi4/sysroot/usr/include/mysql MYSQL_LIBDIR=~/rpi4/sysroot/usr/lib/arm-linux-gnueabihf
```
Sikeres konfigurálás után lehet fordítani és installálni
Sikeres konfigurálás után lehet fordítani és installálni.
```
make -j4
make install
```
Újrakezdéshez a build könyvtárat ki kell üríteni
Újrakezdéshez a build könyvtárat ki kell üríteni.
```
rm -rf *
```
A lefordított keretrendszer installálható a Raspberry Pi-re
A lefordított keretrendszer installálható a Raspberry Pi-re.
```
cd ~/rpi4
rsync -avz --rsync-path="sudo rsync" qt5.15.2 <FELHASZNÁLÓNÉV>@<IP-CÍM>:/usr/local
@ -222,12 +222,12 @@ GCC (C++, arm 32bit in /usr/bin) GCC
```
Ha nem, fel kell venni kézzel.
A _**Debuggers**_ fülön a fel telepített gdb-multiarch-t kell kézzel felvenni
A _**Debuggers**_ fülön a fel telepített gdb-multiarch-t kell kézzel felvenni.
```
GDB MultiArch /usr/bin/gdb-multiarch GDB
```
A fentiek megléte után a _**Kits**_ fülön fel kell venni egy új készletet, el kell nevezni (pl. Raspberry Pi 4), az eszköz típusa _**Generic Linux device**_, az eszközhöz, fordítóhoz, debuggerhez és a qt verzióhoz rendre az előző lapokon felvett elemeket kell megadni. A sysroot a fordításhoz használt gyökérkönyvtár
A fentiek megléte után a _**Kits**_ fülön fel kell venni egy új készletet, el kell nevezni (pl. Raspberry Pi 4), az eszköz típusa _**Generic Linux device**_, az eszközhöz, fordítóhoz, debuggerhez és a qt verzióhoz rendre az előző lapokon felvett elemeket kell megadni. A sysroot a fordításhoz használt gyökérkönyvtár.
```
/home/kutyus/rpi4/sysroot
```

Loading…
Cancel
Save