Cuprins:
- Provizii
- Pasul 1: Obținerea instrumentelor Neccesery
- Pasul 2: Compilarea instrumentelor de construcție native pentru compilare încrucișată
- Pasul 3: Patching Kernel și Configurarea Kernel
- Pasul 4: Construirea RT Kernel
- Pasul 5: Instalarea noului nucleu
Video: Compilație kernel RT pe 64 de biți pentru Raspberry Pi 4B.: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Acest tutorial va acoperi procesul de construire și instalare a kernelului pe 64 de biți în timp real pe Raspberry Pi. RT Kernel este crucial pentru funcționalitatea completă a ROS2 și a altor soluții IOT în timp real.
Kernel a fost instalat pe Raspbian bazat pe x64, care poate fi obținut aici
Notă. Acest tutorial, deși simplu necesită cunoștințe de bază despre sistemul de operare Linux.
De asemenea, din cauza limitărilor acestei platforme, toate linkurile http lipsesc h. Pentru a le remedia simpli, adăugați „h” în partea din față a linkului
Provizii
PC bazat pe x64 care rulează Linux
Raspberry Pi 4B cu Raspbian 64 deja instalat
Conexiune la Internet.
Pasul 1: Obținerea instrumentelor Neccesery
Mai întâi trebuie să optăm pentru instrumentele de dezvoltare neccecery.
Acestea pot fi obținute executând următoarele comenzi în terminalul Linux
sudo apt-get install build-essential libgmp-dev libmpfr-dev libmpc-dev libisl-dev libncurses5-dev bc git-core bison flexsudo apt-get install libncurses-dev libssl-dev
Pasul 2: Compilarea instrumentelor de construcție native pentru compilare încrucișată
Următorul pas este pregătirea și compilarea instrumentelor pentru compilarea încrucișată a nucleului nostru.
Instrumentul Firs pe care îl vom instala este Binutils, acest tutorial a fost testat cu binutils versiunea 2.35.
cd ~ / Downloadswget ttps: //ftp.gnu.org/gnu/binutils/binutils-2.35.tar.bz2tar xf binutils-2.35.tar.bz2cd binutils-2.35 /./ configure --prefix = / opt / aarch64 - target = aarch64-linux-gnu --disable-nls
După terminarea configurării, trebuie să compilăm programul folosind următoarele comenzi
face -jx
sudo make install
unde -jx înseamnă câte joburi doriți să executați i parrarell. Regula generală este să o puneți nu mai mult decât cantitatea de fire pe care o are sistemul dvs. (de exemplu make -j16)
și în cele din urmă trebuie să exportăm calea
export PATH = $ PATH: / opt / aarch64 / bin /
Deci continuăm cu construirea și instalarea GCC
cd..wget ttps: //ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.xztar xf gcc-8.4.0.tar.xzcd gcc-8.4.0 /. /contrib/download_prerequisites./configure --prefix = / opt / aarch64 --target = aarch64-linux-gnu --with-newlib --without-headers / --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float / --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic / --enable-languages = c --disable-multilib
Decât la fel ca înainte de a crea și instala compilatorul nostru
face all-gcc -jx
sudo make install-gcc
Dacă totul a decurs fără probleme, urmând comanda
/ opt / aarch64 / bin / aarch64-linux-gnu-gcc -v
ar trebui să rezolve în răspuns similar cu acesta.
ux-gnu-gcc -v Utilizarea specificațiilor încorporate. COLLECT_GCC = / opt / aarch64 / bin / aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER = / opt / aarch64 / libexec / gcc / aarch64-linux-gnu / 8.4.0 / lto-wrapper Țintă: aarch64-linux-gnu Configurat cu:./configure --prefix = / opt / aarch64 --target = aarch64-linux-gnu --with-newlib --without-headers --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-languages = c --disable-multilib Modelul firului: versiunea gcc unică 8.4.0 (GCC)
Pasul 3: Patching Kernel și Configurarea Kernel
Acum este timpul să ne procurăm nucleul și patch-ul RT.
Acest tutorial va utiliza rpi kernel v 5.4 și RT patch RT32. Această combinație a funcționat bine pentru mine. Cu toate acestea, totul ar trebui să funcționeze bine cu diferite versiuni.
mkdir ~ / rpi-kernel
cd ~ / rpi-kernel git clone ttps: //github.com/raspberrypi/linux.git -b rpi-5.4.y wget ttps: //mirrors.edge.kernel.org/pub/linux/kernel/projects/rt /5.4/older/patch-5.4.54-rt32.patch.gz mkdir kernel-out cd linux
apoi despachetați plasturele.
gzip -cd../patch-5.4.54-rt32.patch.gz | patch -p1 --verbose
Și inițializați configurația pentru Rpi 4B
make O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = / opt / aarch64 / bin / aarch64-linux-gnu- bcm2711_defconfig
Apoi, trebuie să intrăm în menuconfig
make O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = / opt / aarch64 / bin / aarch64-linux-gnu- menuconfig
Când se lansează, avem nevoie de configurația existentă, apoi accesați
General -> Model de preemțiune și selectați opțiunea în timp real.
decât salvăm o nouă configurație și ieșim din meniu.
Pasul 4: Construirea RT Kernel
Acum este timpul de compilare. Rețineți că poate dura mult timp, în funcție de capacitățile computerului.
make -jx O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
Ca și înainte -jx înseamnă numărul de locuri de muncă. După o compilare reușită, trebuie să ne împachetăm nucleul și să îl trimitem la Raspberry Pi. Pentru a face acest lucru, executăm următoarele comenzi.
export INSTALL_MOD_PATH = ~ / rpi-kernel / rt-kernelexport INSTALL_DTBS_PATH = ~ / rpi-kernel / rt-kernelmake O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu- modules_install.. dtbs_install out / arch / arm64 / boot / Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz * cd..
Acum, nucleul nostru ar trebui să fie în arhiva rt-kernel.tgz și să fie gata să fie trimis și instalat.
Pasul 5: Instalarea noului nucleu
Cel mai simplu mod de a trimite nucleul nostru la raspbperry este folosind scp.
Executăm pur și simplu următoarea comandă.
scp rt-kernel.tgz pi @: / tmp
Acum trebuie să ne conectăm la pi-ul nostru prin ssh și să ne despachetăm nucleul.
ssh pi @
Când ne conectăm, ne copiem fișierele folosind următoarele comenzi.
cd / tmptar xzf rt-kernel.tgz cd boot sudo cp -rd * / boot / cd../lib sudo cp -dr * / lib / cd../overlays sudo cp -dr * / boot / overlays cd../ broadcom sudo cp -dr bcm * / boot /
După aceea, ceea ce rămâne de făcut este să editați fișierul /boot/config.txt și să adăugați următoarea linie.
kernel = kernel8.img
După repornirea pi, totul ar trebui să funcționeze bine.
Pentru a verifica dacă noul kernel a fost instalat cu succes, puteți executa
uname -a
comanda
Recomandat:
[2020] Folosirea a doi (x2) Micro: biți pentru a controla o mașină RC: 6 pași (cu imagini)
[2020] Folosirea a doi (x2) micro: biți pentru a controla o mașină RC: Dacă aveți doi (x2) micro: biți, v-ați gândit să le folosiți pentru a controla de la distanță o mașină RC? Puteți controla o mașină RC folosind un micro: bit ca emițător și altul ca receptor. Când utilizați editorul MakeCode pentru codificarea unui micro: b
Raspberry Pi MMA8452Q 3-Axis Tutorial accelerator digital Python pe 12 biți / 8 biți: 4 pași
Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Accelerometru digital Python Tutorial: MMA8452Q este un accelerometru inteligent, de mică putere, cu trei axe, capacitiv, micromachined, cu 12 biți de rezoluție. Opțiuni flexibile programabile de utilizator sunt furnizate cu ajutorul funcțiilor încorporate în accelerometru, configurabile pentru două întreruperi
Micro: biți Lumini pentru începători: 5 pași
Micro: bits Lumini pentru începători: Pentru acest lucru instructiv, veți avea nevoie de un Micro: Bit și un laptop, care nu poate fi un Mac. Dacă utilizați un Mac, este necesar un pas suplimentar sau este necesar un adaptor pentru un port USB
Moduri utile pentru Leatherman Tread (se potrivește mai bine, adaugă biți, convertește driverul piuliței): 14 pași (cu imagini)
Moduri utile pentru Leatherman Tread (potrivire mai bună, adăugare de biți, convertizor cu piuliță): acest instuctabil trece peste 3 modificări ale modelului Leatherman TreadModification # 1 - Obținerea unei potriviri mai bune pe încheietura mâinii 3 - Conversia unui driver de piulițe într-o dimensiune mai mică
Utilizați modulul Bluetooth HC-05 pentru a realiza comunicarea micro: biți cu telefonul mobil: 9 pași (cu imagini)
Utilizați modulul Bluetooth HC-05 pentru a realiza comunicarea micro: biți cu telefonul mobil: în capitolul Utilizați modulul Bluetooth HC-06 pentru a realiza comunicația micro: biți cu telefonul mobil, am vorbit despre cum să utilizați HC-06 pentru a realiza comunicarea între micro: bit și telefon mobil. Cu excepția HC-06, există un alt modul Bluetooth comun