INHOUDSOPGAWE:

64bit RT -kernsamestelling vir Raspberry Pi 4B.: 5 stappe
64bit RT -kernsamestelling vir Raspberry Pi 4B.: 5 stappe

Video: 64bit RT -kernsamestelling vir Raspberry Pi 4B.: 5 stappe

Video: 64bit RT -kernsamestelling vir Raspberry Pi 4B.: 5 stappe
Video: Equipment Corner- OctoPrint configuration 2024, Julie
Anonim
64bit RT -kernsamestelling vir Raspberry Pi 4B
64bit RT -kernsamestelling vir Raspberry Pi 4B

Hierdie handleiding dek die proses van die bou en installasie van 64 -bits Real Time Kernel op Raspberry Pi. RT Kernel is noodsaaklik vir die volledige funksionaliteit van ROS2 en ander Real Time IOT -oplossings.

Kernel is geïnstalleer op x64 -gebaseerde Raspbian wat hier verkry kan word

Let op. Hierdie handleiding vereis, hoewel eenvoudig, basiese kennis van Linux -bedryfstelsel.

As gevolg van die beperkinge van hierdie platform, ontbreek alle http -skakels aan h. Om dit eenvoudig op te los, voeg 'h' aan die voorkant van die skakel by

Voorrade

x64 -gebaseerde rekenaar met Linux

Raspberry Pi 4B met Raspbian 64 reeds geïnstalleer

Verbinding met die internet.

Stap 1: Kry noodsaaklike gereedskap

Eerstens moet ons die nodige ontwikkelingsinstrumente kies.

Dit kan verkry word deur die volgende opdragte in Linux -terminale uit te voer

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

Stap 2: Opstel van oorspronklike gereedskap vir kruisversameling

Die volgende stap is om gereedskap voor te berei en op te stel vir die samestelling van ons kern.

Die eerste hulpmiddel wat ons gaan installeer, is Binutils, hierdie tutoriaal is getoets met binutils weergawe 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

Nadat die konfigurasie voltooi is, moet ons die program saamstel met behulp van die volgende opdragte

maak -jx

sudo maak installeer

waar -jx beteken hoeveel werk u in parrarell wil uitvoer. 'N Duimreël is om dit nie hoër te stel as die hoeveelheid drade wat u stelsel het nie. (byvoorbeeld maak -j16)

en uiteindelik moet ons die pad uitvoer

uitvoer PATH = $ PATH:/opt/aarch64/bin/

Dan gaan ons voort met die bou en installering van 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-met-newlib-sonder headers / --disable-nls --disable-shared --disable-threads --disable-libssp --disable-desimal-float / --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic / --enable-languages = c --disable-multilib

As dieselfde as voor ons ons samesteller maak en installeer

maak all -gcc -jx

sudo maak install-gcc

As alles vlot verloop volgens die opdrag

/opt/aarch64/bin/aarch64-linux-gnu-gcc -v

moet in reaksie hierop heraangestel word.

ux-gnu-gcc -v Gebruik ingeboude spesifikasies. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Doel: aarch64-linux-gnu Opgestel met:./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu-met-newlib-sonder headers --disable-nls --disable-shared --disable-threads --disable-libssp --disable-desimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic-enable-languages = c --disable-multilib Thread model: single gcc version 8.4.0 (GCC)

Stap 3: Patching Kernel en Configuring Kernel

Nou is dit tyd om ons kern en RT -pleister te kry.

Hierdie handleiding gebruik rpi kern v 5.4 en RT patch RT32. Hierdie kombinasie het goed vir my gewerk. Alles moet egter goed werk met verskillende weergawes.

mkdir ~/rpi-kernel

cd ~/rpi-kern 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 dan die pleister uit.

gzip -cd../patch-5.4.54-rt32.patch.gz | pleister -p1 --woordelik

En begin die konfigurasie vir Rpi 4B

maak O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig

Hierna moet ons die menuconfig betree

maak O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- menuconfig

As dit lui, moet ons na die bestaande konfigurasie, en dan na

Algemeen -> Voorverkoopmodel en kies Real Time -opsie.

as ons nuwe konfigurasie stoor en die spyskaart verlaat.

Stap 4: Bou RT Kernel

Nou is dit tyd om op te stel. Let daarop dat dit baie tyd kan neem, afhangende van u rekenaarfunksies.

maak -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-

Soos voorheen -jx beteken aantal werkgeleenthede. Na 'n suksesvolle samestelling moet ons ons kern pak en na Raspberry Pi stuur. Om dit te doen, voer ons die volgende opdragte uit.

uitvoer 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_installp.. out/arch/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..

Nou moet ons kern in die argief van rt-kernel.tgz wees en dit kan gestuur en geïnstalleer word.

Stap 5: Installeer nuwe kern

Die maklikste manier om ons kern na raspbperry te stuur, is deur scp te gebruik.

Ons voer eenvoudig die volgende opdrag uit.

scp rt-kernel.tgz pi@:/tmp

Nou moet ons by ons pi aanmeld via ssh en ons kern uitpak.

ssh pi@

As ons aangemeld het, kopieer ons ons lêers met behulp van die volgende opdragte.

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 /

Daarna moet u die /boot/config.txt -lêer wysig en die volgende reël byvoeg.

kern = kernel8.img

Na die herlaai van pi behoort alles goed te werk.

Om te kyk of die nuwe kern suksesvol geïnstalleer is, kan u dit uitvoer

uname -a

bevel

Aanbeveel: