Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Få Neccesery Tools
- Trin 2: Kompilering af indbyggede værktøjer til krydskompilering
- Trin 3: Patching Kernel og Configuring Kernel
- Trin 4: Bygning af RT -kerne
- Trin 5: Installation af nyt kerne
![64bit RT kernekompilering til Raspberry Pi 4B.: 5 trin 64bit RT kernekompilering til Raspberry Pi 4B.: 5 trin](https://i.howwhatproduce.com/images/001/image-528-24-j.webp)
Video: 64bit RT kernekompilering til Raspberry Pi 4B.: 5 trin
![Video: 64bit RT kernekompilering til Raspberry Pi 4B.: 5 trin Video: 64bit RT kernekompilering til Raspberry Pi 4B.: 5 trin](https://i.ytimg.com/vi/Wu2A4fpFzgs/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
![64bit RT kernekompilering til Raspberry Pi 4B 64bit RT kernekompilering til Raspberry Pi 4B](https://i.howwhatproduce.com/images/001/image-528-25-j.webp)
Denne vejledning dækker processen med opbygning og installation af 64 bit Real Time Kernel på Raspberry Pi. RT Kernel er afgørende for fuld funktionalitet af ROS2 og andre Real Time IOT -løsninger.
Kerne blev installeret på x64 baseret Raspbian, som kan fås her
Bemærk. Denne vejledning kræver, selvom den er ligetil, grundlæggende viden om Linux -operativsystemet.
På grund af begrænsninger af denne platform mangler alle http -links h. For at rette dem simpelthen tilføj "h" på forsiden af linket
Forbrugsvarer
x64 -baseret pc, der kører Linux
Raspberry Pi 4B med Raspbian 64 allerede installeret
Forbindelse til internettet.
Trin 1: Få Neccesery Tools
Først skal vi tilvælge neccecery dev -værktøjer.
De kan opnås ved at udføre følgende kommandoer i Linux -terminalen
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
Trin 2: Kompilering af indbyggede værktøjer til krydskompilering
Næste trin er at forhåndsforberede og kompilere værktøjer til krydskompilering af vores kerne.
Firs -værktøj, vi installerer, er Binutils, denne vejledning blev testet med binutils version 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
Efter konfigurationen er færdig, skal vi kompilere programmer ved hjælp af følgende kommandoer
lave -jx
sudo foretag installation
hvor -jx betyder, hvor mange job du vil køre i parrarell. Tommelfingerregel er at lægge den ikke højere end mængden af tråde, dit system har. (f.eks. make -j16)
og endelig skal vi eksportere stien
eksport PATH = $ PATH:/opt/aarch64/bin/
Derefter fortsætter vi med at bygge og installere 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-uden 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
End det samme som før vi laver og installerer vores compiler
lav alle -gcc -jx
sudo lav install-gcc
Hvis alt gik glat efter kommandoen
/opt/aarch64/bin/aarch64-linux-gnu-gcc -v
bør genopfriskes svarende til dette.
ux-gnu-gcc -v Brug af indbyggede specifikationer. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Mål: aarch64-linux-gnu Konfigureret med:./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu --with-newlib-uden 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)
Trin 3: Patching Kernel og Configuring Kernel
Nu er det tid til at få vores kerne og RT -patch.
Denne vejledning bruger rpi kernel v 5.4 og RT patch RT32. Denne kombination fungerede godt for mig. Alt skulle dog fungere fint med forskellige versioner.
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
pak derefter lappen ud.
gzip -cd../patch-5.4.54-rt32.patch.gz | patch -p1 --verbose
Og initialiser konfigurationen til Rpi 4B
lav O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig
Herefter skal vi gå ind i menukonfigurationen
lav O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- menuconfig
Når det laueres skal vi til eksisterende konfiguration, og derefter gå til
Generelt -> Preemtion Model og vælg Real Time option.
end vi gemmer ny konfiguration og forlader menuen.
Trin 4: Bygning af RT -kerne
Nu er det kompileringstid. Bemærk, at det kan tage lang tid afhængigt af dine pc -muligheder.
make -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
Som før betyder -jx antal job. Efter vellykket kompilering skal vi pakke vores kerne og sende den til Raspberry Pi. For at gøre dette udfører vi følgende kommandoer.
eksport 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_installc.. out/arch/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..
Nu skal vores kerne være inde i rt-kernel.tgz arkiv, og den er klar til at blive sendt og installeret.
Trin 5: Installation af nyt kerne
Den letteste måde at sende vores kerne til raspbperry er ved at bruge scp.
Vi udfører simpelthen følgende kommando.
scp rt-kernel.tgz pi@:/tmp
Nu skal vi logge ind på vores pi via ssh og pakke vores kerne ud.
ssh pi@
Når vi er logget ind, kopierer vi vores filer ved hjælp af følgende kommandoer.
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 /
Derefter er det tilbage at redigere /boot/config.txt -filen og tilføje følgende linje.
kernel = kernel8.img
Efter genstart af pi skulle alt fungere fint.
For at kontrollere, om den nye kerne blev installeret med succes, kan du udføre
uname -a
kommando
Anbefalede:
Raspberry PI 3 - Aktiver seriel kommunikation til TtyAMA0 til BCM GPIO 14 og GPIO 15: 9 trin
![Raspberry PI 3 - Aktiver seriel kommunikation til TtyAMA0 til BCM GPIO 14 og GPIO 15: 9 trin Raspberry PI 3 - Aktiver seriel kommunikation til TtyAMA0 til BCM GPIO 14 og GPIO 15: 9 trin](https://i.howwhatproduce.com/images/002/image-4542-j.webp)
Raspberry PI 3 - Aktiver seriel kommunikation til TtyAMA0 til BCM GPIO 14 og GPIO 15: Jeg havde for nylig interesse i at aktivere UART0 på min Raspberry Pi (3b), så jeg kunne tilslutte den direkte til en RS -232 signalniveauenhed ved hjælp af en standard 9 -pind d-sub-stik uden at skulle gå gennem en USB til RS-232 adapter. En del af min interesse
LoRa Messenger til to enheder til distancer Op til 8 km: 7 trin
![LoRa Messenger til to enheder til distancer Op til 8 km: 7 trin LoRa Messenger til to enheder til distancer Op til 8 km: 7 trin](https://i.howwhatproduce.com/images/005/image-12475-20-j.webp)
LoRa Messenger til to enheder til afstande Op til 8 km: Tilslut projektet til din bærbare computer eller telefon, og chat derefter mellem enhederne uden internet eller SMS ved hjælp af bare LoRa.Hey, hvad sker der gutter? Akarsh her fra CETech. I dag skal vi lave et projekt, der kan forbindes til din smartphone eller en hvilken som helst
1A til 40A nuværende BOOST -konverter til op til 1000W DC -motor: 3 trin
![1A til 40A nuværende BOOST -konverter til op til 1000W DC -motor: 3 trin 1A til 40A nuværende BOOST -konverter til op til 1000W DC -motor: 3 trin](https://i.howwhatproduce.com/images/006/image-16934-16-j.webp)
1A til 40A Current BOOST-konverter til op til 1000W DC-motor: Hej! I denne video lærer du, hvordan du laver et strømforstærkerkredsløb til dine høj ampere DC-motorer op til 1000W og 40 ampere med transistorer og en center-tap-transformer. Selvom, strømmen ved udgangen er meget høj, men spændingen bliver r
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: 3 trin
![Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: 3 trin Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: 3 trin](https://i.howwhatproduce.com/images/003/image-6100-83-j.webp)
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: Min plan var enkel. Jeg ville skære en væg-drevet LED-lysstreng i stykker og derefter genkoble den til at køre 12 volt. Alternativet var at bruge en strømomformer, men vi ved alle, at de er frygtelig ineffektive, ikke? Ret? Eller er de det?
12v til USB Adapter 12v til 5v Transformer (fantastisk til biler): 6 trin
![12v til USB Adapter 12v til 5v Transformer (fantastisk til biler): 6 trin 12v til USB Adapter 12v til 5v Transformer (fantastisk til biler): 6 trin](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11124725-12v-to-usb-adapter-12v-to-5v-transformer-great-for-cars-6-steps-j.webp)
12v til USB Adapter 12v til 5v Transformer (fantastisk til biler): Dette viser dig, hvordan du laver en 12v til USB (5v) adapter. Den mest oplagte anvendelse af dette er til 12v biladaptere, men hvor som helst du har 12v kan du bruge det! Hvis du har brug for 5v til andet end USB, skal du blot springe trinene om tilføjelse af USB -porte over