Sisukord:

64 -bitine RT kerneli koostamine Raspberry Pi 4B jaoks.: 5 sammu
64 -bitine RT kerneli koostamine Raspberry Pi 4B jaoks.: 5 sammu

Video: 64 -bitine RT kerneli koostamine Raspberry Pi 4B jaoks.: 5 sammu

Video: 64 -bitine RT kerneli koostamine Raspberry Pi 4B jaoks.: 5 sammu
Video: Windows Event and Logging Demystified: IT Admin Edition 2024, November
Anonim
64 -bitine RT kerneli koostamine Raspberry Pi 4B jaoks
64 -bitine RT kerneli koostamine Raspberry Pi 4B jaoks

See õpetus hõlmab 64 -bitise reaalajas kerneli loomise ja installimise protsessi Raspberry Pi -le. RT Kernel on ROS2 ja muude reaalajas IOT -lahenduste täieliku funktsionaalsuse jaoks ülioluline.

Kernel installiti x64 -põhisele Raspbianile, mille saab siit

Märge. Kuigi see õpetus on lihtne, nõuab see Linuxi opsüsteemi põhiteadmisi.

Ka selle platvormi piirangute tõttu puudub kõigil http linkidel h. Nende parandamiseks lisage lingi ette "h"

Tarvikud

x64 -põhine arvuti, milles töötab Linux

Raspberry Pi 4B koos Raspbian 64 -ga on juba installitud

Ühendus Internetiga.

Samm: hankige abivahendid

Kõigepealt peame valima neccecery dev tööriistad.

Neid saab hankida Linuxi terminalis järgmiste käskude täitmisel

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

2. samm: ristkompileerimiseks kohalike ehitustööriistade koostamine

Järgmine samm on meie tuuma ristkompileerimiseks tööriistade ettevalmistamine ja koostamine.

Firsi tööriist, mille me installime, on Binutils, seda õpetust testiti binutili versiooniga 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-keelatud-nls

Pärast konfiguratsiooni lõppu peame programmi koostama järgmiste käskude abil

tee -jx

sudo make install

kus -jx tähendab, mitu tööd soovite i parrarellil täita. Rusikareegel on see, et see ei tohi olla kõrgem kui teie süsteemis olevate lõimede arv. (näiteks teha -j16)

ja lõpuks peame tee eksportima

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

Jätkame GCC ehitamise ja paigaldamisega

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-ilma päisedeta --disable-libssp --disable-decimal-float / --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic / --enable-languages = c --disable-multilib

See on sama, mis enne kompilaatori koostamist ja installimist

tee all -gcc -jx

sudo make install-gcc

Kui kõik käskluse järgi sujuks

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

peaks saama sarnase vastuse.

ux-gnu-gcc -v Sisseehitatud spetsifikatsioonide kasutamine. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Siht: aarch64-linux-gnu Seadistatud:./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu --with-newlib-ilma päisteta --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-languages = c --disable-multilib Lõimemudel: ühe gcc versioon 8.4.0 (GCC)

3. samm: kerneli parandamine ja kerneli seadistamine

Nüüd on aeg hankida meie tuum ja RT -plaaster.

See õpetus kasutab rpi kernel v 5.4 ja RT plaastrit RT32. See kombinatsioon töötas minu jaoks hästi. Kuid erinevate versioonidega peaks kõik hästi toimima.

mkdir ~/rpi-kernel

cd ~/rpi-kernel git kloon 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

seejärel pakkige plaaster lahti.

gzip -cd../patch-5.4.54-rt32.patch.gz | plaaster -p1 -verbose

Ja lähtestage Rpi 4B konfiguratsioon

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

Pärast seda peame sisenema menüükonfiguratsiooni

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

Kui see käivitub, peame olemasoleva konfiguratsiooni juurde minema, seejärel minge aadressile

Üldine -> Eeldusmudel ja valige suvand Reaalajas.

kui salvestame uue konfiguratsiooni ja väljume menüüst.

4. samm: RT kerneli loomine

Nüüd on selle koostamise aeg. Pange tähele, et sõltuvalt teie arvuti võimalustest võib see võtta kaua aega.

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

Nagu varem, tähendab -jx töökohtade arvu. Pärast edukat koostamist peame pakkima oma kerneli ja saatma selle Raspberry Pi -sse. Selleks täidame järgmisi käske.

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

Nüüd peaks meie kernel olema rt-kernel.tgz arhiivis ning valmis saatmiseks ja installimiseks.

Samm: uue kerneli installimine

Lihtsaim viis meie tuuma raspbperryle saatmiseks on scp.

Täidame lihtsalt järgmise käsu.

scp rt-kernel.tgz pi@:/tmp

Nüüd peame ssh kaudu oma pi sisse logima ja kerneli lahti pakkima.

ssh pi@

Sisselogimisel kopeerime oma failid järgmiste käskude abil.

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 /

Pärast seda jääb üle muuta /boot/config.txt faili ja lisada järgmine rida.

kernel = kernel8.img

Pärast pi taaskäivitamist peaks kõik toimima.

Uue kerneli eduka installimise kontrollimiseks võite käivitada

uname -a

käsk

Soovitan: