Obsah:
- Zásoby
- Krok 1: Získanie nástrojov Neccesery Tools
- Krok 2: Kompilácia natívnych zostavovacích nástrojov pre krížovú kompiláciu
- Krok 3: Oprava jadra a konfigurácia jadra
- Krok 4: Vytvorenie jadra RT
- Krok 5: Inštalácia nového jadra
Video: 64 -bitová kompilácia jadra RT pre Raspberry Pi 4B.: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Tento tutoriál sa bude zaoberať procesom budovania a inštalácie 64 -bitového jadra v reálnom čase na Raspberry Pi. RT Kernel je rozhodujúci pre plnú funkčnosť ROS2 a ďalších riešení IOT v reálnom čase.
Jadro bolo nainštalované na serveri Raspbian x64, ktorý nájdete tu
Poznámka. Tento návod, aj keď je jednoduchý, vyžaduje základné znalosti operačného systému Linux.
Aj kvôli obmedzeniam tejto platformy chýbajú všetkým odkazom http h. Ak ich chcete opraviť, zjednodušene pridajte „h“do prednej časti odkazu
Zásoby
Počítač s procesorom x64 s operačným systémom Linux
Raspberry Pi 4B s už nainštalovaným Raspbian 64
Pripojenie na internet.
Krok 1: Získanie nástrojov Neccesery Tools
Najprv musíme získať nástroje pre vývojárov neccecery.
Môžete ich získať vykonaním nasledujúcich príkazov v termináli 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
Krok 2: Kompilácia natívnych zostavovacích nástrojov pre krížovú kompiláciu
Ďalším krokom je príprava a kompilácia nástrojov na krížovú kompiláciu nášho jadra.
Prvým nástrojom, ktorý budeme inštalovať, je Binutils, tento návod bol testovaný s binutils verzie 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
Po dokončení konfigurácie musíme program skompilovať pomocou nasledujúcich príkazov
urobiť -jx
sudo vykonať inštaláciu
kde -jx znamená, koľko úloh chcete spustiť, a to paralelne. Pravidlom je, aby to nebolo vyššie ako množstvo vlákien, ktoré váš systém má. (napríklad značka -j16)
a nakoniec musíme cestu exportovať
export PATH = $ PATH:/opt/aarch64/bin/
Potom pristúpime k výstavbe a inštalácii 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
Je to rovnaké ako predtým, ako vyrobíme a nainštalujeme náš kompilátor
make all -gcc -jx
sudo make install-gcc
Ak všetko prebehlo hladko podľa príkazu
/opt/aarch64/bin/aarch64-linux-gnu-gcc -v
by mal resoult v odpovedi podobnej tejto.
ux-gnu-gcc -v Použitie vstavaných špecifikácií. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Cieľ: aarch64-linux-gnu Konfigurované pomocou:./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 Thread model: single gcc version 8.4.0 (GCC)
Krok 3: Oprava jadra a konfigurácia jadra
Teraz je čas získať opravu jadra a RT.
Tento tutoriál bude používať rpi kernel v 5.4 a RT patch RT32. Mne sa táto kombinácia osvedčila. V rôznych verziách by však malo všetko fungovať správne.
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 jadro-out cd linux
potom rozbaľte náplasť.
gzip -cd../patch-5.4.54-rt32.patch.gz | patch -p1 -verbose
A inicializujte konfiguráciu pre Rpi 4B
make O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig
Ďalej musíme vstúpiť do konfigurácie ponuky
make O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- menuconfig
Akonáhle to bude potrebné, budeme potrebovať existujúcu konfiguráciu, potom choďte na
Všeobecné -> Preemtion Model a vyberte možnosť Real Time.
než uložíme novú konfiguráciu a opustíme ponuku.
Krok 4: Vytvorenie jadra RT
Teraz je čas na kompiláciu. V závislosti od možností vášho počítača to môže trvať dlho.
make -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
Ako predtým -jx znamená počet pracovných miest. Po úspešnej kompilácii musíme zabaliť naše jadro a odoslať ho na Raspberry Pi. Aby sme to urobili, vykonáme nasledujúce príkazy.
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_c out/arch/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..
Teraz by naše jadro malo byť v archíve rt-kernel.tgz a pripravené na odoslanie a nainštalovanie.
Krok 5: Inštalácia nového jadra
Najjednoduchší spôsob odoslania nášho jadra na server raspbperry je pomocou scp.
Jednoducho vykonáme nasledujúci príkaz.
scp rt-kernel.tgz pi@:/tmp
Teraz sa musíme prihlásiť k svojmu pí prostredníctvom ssh a rozbaliť naše jadro.
ssh pi@
Keď sme prihlásení, kopírujeme naše súbory pomocou nasledujúcich príkazov.
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 /
Potom zostáva upraviť súbor /boot/config.txt a pridať nasledujúci riadok.
jadro = kernel8.img
Po reštarte počítača by malo všetko fungovať dobre.
Ak chcete skontrolovať, či bolo nové jadro úspešne nainštalované, môžete spustiť
uname -a
príkaz
Odporúča:
LED indikátor vzdialenosti pre postroj pre psa: 5 krokov (s obrázkami)
LED indikátor vzdialenosti Postroj pre psa: Väčšinou beriem svojho psa Rusia na prechádzku, keď zapadá slnko, aby sa mohol hrať, kým sa príliš nezahreje. Problém je v tom, že keď je mimo vodítka, niekedy je príliš vzrušený a beží ďalej, ako by mal, a pri slabom svetle a ostatnými psami
Animácia na 16x2 I2c LCD POMOCOU jadra STM32: 4 kroky
Animácia na 16x2 I2c LCD pomocou STM32 Nucleo: Ahoj priatelia, toto je návod, ako vytvoriť vlastnú animáciu na 16x2 i2c LCD. Na projekt je potrebných veľmi málo vecí, takže ak máte prístup ku kódu, môžete ho dokončiť za 1 hodinu. Po absolvovaní tohto tutoriálu budete schopní
Ako nastaviť ladiaci program jadra systému Windows vo vašej sieti: 6 krokov
Ako nastaviť ladiaci program jadra systému Windows vo vašej sieti: Ladenie je populárny nástroj, pomocou ktorého sa dostanete k základnej príčine chyby. Chyba sa môže sama odhaliť mnohými rôznymi spôsobmi. môže spôsobiť zlyhanie systému (modrá obrazovka/BSOD), môže to viesť k zlyhaniu aplikácie, môže to spôsobiť zmrazenie vášho systému, aby sme pomenovali napríklad
Panel pre správu servera / webhostingu pre Raspberry Pi (Ajenti): 5 krokov
Serverový server / Panel webhostingu pre Raspberry Pi (Ajenti): Dobrý deň, vitajte pri mojom prvom návode. Táto príručka sa týka inštalácie Ajenti na Raspberry Pi. Túto príručku však možno použiť aj na inštaláciu ajenti na ľubovoľný operačný systém založený na debiane. Čo je to Ajenti? Ajenti je panel serverového administrátora opensource, ktorý
Oprava poškodeného IBook G4 s problémami paniky letiskového jadra: 4 kroky
Oprava nefunkčného IBook G4 s problémami paniky letiskového jadra: Ahoj všetci! Konečne som dosiahol niečo, o čom stojí za to, aby ste sa o tom mohli poučiť :-) Pravdepodobne ste tu, pretože váš good'ol iBook začal po aktualizácii z Mac OS 10.4 pôsobiť divne. 8 až 10.4.9. Spôsobom, akým vždy získate