Sadržaj:
- Supplies
- Korak 1: Nabavite Neccesery alate
- Korak 2: Sastavite izvorne alate za izgradnju za unakrsnu kompilaciju
- Korak 3: Zakrpanje jezgre i konfiguriranje jezgre
- Korak 4: Izgradnja RT kernela
- Korak 5: Instaliranje novog kernela
Video: 64 -bitna RT Kernel kompilacija za Raspberry Pi 4B.: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Ovaj vodič će pokriti proces izgradnje i instalacije 64 -bitnog jezgra u stvarnom vremenu na Raspberry Pi. RT kernel je ključan za potpunu funkcionalnost ROS2 i drugih IOT rješenja u realnom vremenu.
Kernel je instaliran na x64 zasnovanom Raspbianu koji se može dobiti ovdje
Bilješka. Ovaj vodič, iako jednostavan, zahtijeva osnovno znanje o operativnom sistemu Linux.
Zbog ograničenja ove platforme, svim http linkovima nedostaje h. Da biste ih popravili, jednostavno dodajte "h" na prednjoj strani veze
Supplies
PC zasnovan na x64 sa Linuxom
Raspberry Pi 4B sa već instaliranim Raspbian 64
Veza sa internetom.
Korak 1: Nabavite Neccesery alate
Prvo moramo nabaviti potrebne alate za razvoj.
Do njih se može doći izvršavanjem sljedećih naredbi u Linux terminalu
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
Korak 2: Sastavite izvorne alate za izgradnju za unakrsnu kompilaciju
Sljedeći korak je pripremiti i kompajlirati alate za unakrsnu kompilaciju našeg jezgra.
Prvi alat koji ćemo instalirati je Binutils Ovaj vodič je testiran sa binutils verzijom 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
Nakon završetka konfiguracije potrebno je kompajlirati program pomoću sljedećih naredbi
make -jx
sudo make install
gdje -jx znači koliko poslova želite pokrenuti u parrarell -u. Opšte pravilo je da to ne postavite više od količine niti koje vaš sistem ima. (na primjer make -j16)
i na kraju moramo izvesti putanju
izvoz PATH = $ PATH:/opt/aarch64/bin/
Zatim nastavljamo s izgradnjom i instalacijom GCC -a
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
Zatim isto kao i prije izrađujemo i instaliramo naš kompajler
napravi all -gcc -jx
sudo make install-gcc
Ako je sve išlo glatko slijedeći naredbu
/opt/aarch64/bin/aarch64-linux-gnu-gcc -v
trebalo bi rezultirati u odgovoru sličnom ovome.
ux-gnu-gcc -v Korištenje ugrađenih specifikacija. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Cilj: aarch64-linux-gnu Konfigurirano sa:./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 Model niti: jedna gcc verzija 8.4.0 (GCC))
Korak 3: Zakrpanje jezgre i konfiguriranje jezgre
Sada je vrijeme da nabavimo naš kernel i RT zakrpu.
Ovaj vodič će koristiti rpi kernel v 5.4 i RT zakrpu RT32. Ova kombinacija mi je dobro funkcionisala. Međutim, sve bi trebalo funkcionirati u redu s različitim verzijama.
mkdir ~/rpi-kernel
cd ~/rpi-kernel git klon 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
zatim raspakirajte zakrpu.
gzip -cd../patch-5.4.54-rt32.patch.gz | zakrpa -p1 --verbose
I početna konfiguracija za Rpi 4B
napravi O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig
Nakon toga moramo ući u menuconfig
napravi O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- menuconfig
Kada se pokrene, moramo na postojeću konfiguraciju, a zatim idite na
Općenito -> Preemtion Model i odaberite opciju Real Time.
tada spremamo novu konfiguraciju i izlazimo iz izbornika.
Korak 4: Izgradnja RT kernela
Sada je vreme kompilacije. Imajte na umu da može potrajati dugo, ovisno o mogućnostima vašeg računala.
make -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
Kao i prije -jx znači broj poslova. Nakon uspješne kompilacije potrebno je zapakirati naš kernel i poslati ga na Raspberry Pi. Da bismo to učinili, izvršavamo sljedeće naredbe.
izvoz 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_ out/arch/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..
Sada bi naše jezgro trebalo biti unutar arhive rt-kernel.tgz i spremno za slanje i instaliranje.
Korak 5: Instaliranje novog kernela
Najlakši način slanja našeg kernela u raspbperry je pomoću scp.
Jednostavno izvršavamo naredbu follwing.
scp rt-kernel.tgz pi@:/tmp
Sada se moramo prijaviti na naš pi putem ssh -a i raspakirati naš kernel.
ssh pi@
Kada smo prijavljeni, kopiramo naše datoteke pomoću sljedećih naredbi.
cd/tmptar xzf rt -kernel.tgz cd boot sudo cp -rd */boot/cd../lib sudo cp -dr */lib/cd../ prekriva sudo cp -dr */boot/prekriva cd../ broadcom sudo cp -dr bcm* /boot /
Nakon toga preostaje da uredite /boot/config.txt datoteku i dodate sljedeći red.
kernel = kernel8.img
Nakon ponovnog pokretanja pi sve bi trebalo raditi kako treba.
Možete provjeriti je li novo jezgro uspješno instalirano
uname -a
komanda
Preporučuje se:
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom uputstvu ćemo izvršiti otkrivanje lica na Raspberry Pi 4 sa Shunya O/S koristeći biblioteku Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja sa
LED Blink sa Raspberry Pi - Kako koristiti GPIO pinove na Raspberry Pi: 4 koraka
LED Blink sa Raspberry Pi | Kako koristiti GPIO pinove na Raspberry Pi: Zdravo momci, u ovim uputstvima naučit ćemo kako koristiti GPIO -ove Raspberry pi. Ako ste ikada koristili Arduino, vjerojatno znate da možemo spojiti LED prekidač itd. Na njegove pinove i omogućiti mu da radi. neka LED treperi ili unesite ulaz sa prekidača pa
Interfejs ADXL335 senzor na Raspberry Pi 4B u 4 koraka: 4 koraka
Interfejs ADXL335 senzor na Raspberry Pi 4B u 4 koraka: U ovom uputstvu ćemo spojiti ADXL335 (akcelerometar) senzor na Raspberry Pi 4 sa Shunya O/S
Instaliranje Raspbian Bustera na Raspberry Pi 3 - Početak rada s Raspbian Busterom s Raspberry Pi 3b / 3b+: 4 koraka
Instaliranje Raspbian Bustera na Raspberry Pi 3 | Početak rada sa Raspbian Busterom Sa Raspberry Pi 3b / 3b+: Zdravo momci, nedavno je organizacija Raspberry pi pokrenula novi Raspbian OS nazvan Raspbian Buster. To je nova verzija Raspbiana za Raspberry pi's. Tako ćemo danas u ovim uputama naučiti kako instalirati Raspbian Buster OS na vaš Raspberry pi 3
Instaliranje Raspbiana u Raspberry Pi 3 B bez HDMI - Prvi koraci s Raspberry Pi 3B - Postavljanje vašeg Raspberry Pi 3: 6 koraka
Instaliranje Raspbiana u Raspberry Pi 3 B bez HDMI | Prvi koraci s Raspberry Pi 3B | Postavljanje vašeg Raspberry Pi 3: Kao što neki od vas znaju, Raspberry Pi računari su odlični i možete staviti cijeli računar samo na jednu malu ploču. Raspberry Pi 3 Model B sadrži četverojezgreni 64-bitni ARM Cortex A53 radi na 1,2 GHz. Ovo čini Pi 3 otprilike 50