Satura rādītājs:

64 bitu RT kodola apkopojums Raspberry Pi 4B.: 5 soļi
64 bitu RT kodola apkopojums Raspberry Pi 4B.: 5 soļi

Video: 64 bitu RT kodola apkopojums Raspberry Pi 4B.: 5 soļi

Video: 64 bitu RT kodola apkopojums Raspberry Pi 4B.: 5 soļi
Video: Торий: энергетическое решение - THORIUM REMIX 2011 2024, Jūlijs
Anonim
64 bitu RT kodola apkopojums Raspberry Pi 4B
64 bitu RT kodola apkopojums Raspberry Pi 4B

Šī apmācība aptvers 64 bitu reālā laika kodola izveidošanas un instalēšanas procesu Raspberry Pi. RT kodols ir būtisks ROS2 un citu reālā laika IOT risinājumu pilnīgai funkcionalitātei.

Kodols tika instalēts uz x64 balstītas Raspbian, kuru var iegūt šeit

Piezīme. Lai gan šī apmācība ir vienkārša, ir nepieciešamas pamatzināšanas par Linux operētājsistēmu.

Arī šīs platformas ierobežojumu dēļ visām http saitēm trūkst h. Lai tos labotu vienkārši, saites priekšpusē pievienojiet “h”

Piegādes

x64 bāzēts dators, kurā darbojas Linux

Raspberry Pi 4B ar Raspbian 64 jau ir instalēts

Savienojums ar internetu.

1. darbība. Iegūstiet nepieciešamās ierīces

Vispirms mums jāizvēlas piegādes rīki.

Tos var iegūt, izpildot šādas komandas Linux terminālī

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. darbība: vietējo veidošanas rīku apkopošana krusteniskai apkopošanai

Nākamais solis ir sagatavot un apkopot rīkus mūsu kodola savstarpējai apkopošanai.

Firs rīks, kuru mēs instalēsim, ir Binutils, šī apmācība tika pārbaudīta ar binutils versiju 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

Pēc konfigurācijas pabeigšanas mums jāapkopo programma, izmantojot šādas komandas

padarīt -jx

sudo veikt instalēšanu

kur -jx nozīmē, cik darbavietu vēlaties vadīt i parrarell. Īkšķis ir tas, ka tas nedrīkst pārsniegt jūsu sistēmā esošo pavedienu skaitu. (piemēram, marka -j16)

un visbeidzot mums ir jāeksportē ceļš

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

Mēs turpinām veidot un uzstādīt 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-bez galvas --disable-libssp --disable-decimal-float / --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic / --enable-languages = c --disable-multilib

Nekas tāds pats kā pirms mūsu kompilatora izveides un instalēšanas

izveidot visu -gcc -jx

sudo make install-gcc

Ja viss noritēja gludi pēc komandas

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

vajadzētu reaģēt līdzīgi kā šis.

ux-gnu-gcc -v Izmantojot iebūvētās specifikācijas. 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ērķis: aarch64-linux-gnu Konfigurēts ar:./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu-ar-newlib-bez virsrakstiem --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-languages = c --disable-multilib Vītnes modelis: viena gcc versija 8.4.0 (GCC)

3. darbība: kodola labošana un kodola konfigurēšana

Tagad ir pienācis laiks iegūt mūsu kodolu un RT ielāpu.

Šajā apmācībā tiks izmantots rpi kodols v 5.4 un RT ielāps RT32. Šī kombinācija man labi darbojās. Tomēr visam vajadzētu darboties labi ar dažādām versijām.

mkdir ~/rpi-kodols

cd ~/rpi-kodola git klona 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 kodola izejas cd linux

tad izpakojiet plāksteri.

gzip -cd../patch-5.4.54-rt32.patch.gz | plāksteris -p1 -daudzpusīgs

Un inicializējiet Rpi 4B konfigurāciju

padarīt O =../kodola izeja/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig

Pēc tam mums jāievada izvēlnes konfigurācija

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

Kad tas tiek palaists, mums ir nepieciešama esošā konfigurācija, pēc tam dodieties uz

Vispārīgi -> Preemtion Model un izvēlieties opciju Real Time.

nekā mēs saglabājam jaunu konfigurāciju un izejam no izvēlnes.

4. solis: RT kodola izveide

Tagad ir savākšanas laiks. Ņemiet vērā, ka atkarībā no datora iespējām tas var aizņemt ilgu laiku.

padarīt -jx O =../ kodola izeja/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-

Tāpat kā iepriekš, -jx nozīmē darba vietu skaitu. Pēc veiksmīgas apkopošanas mums ir jāiepako mūsu kodols un jānosūta uz Raspberry Pi. Lai to izdarītu, mēs izpildām šādas komandas.

eksportēt INSTALL_MOD_PATH = ~/rpi-kodols/rt-kernelexport INSTALL_DTBS_PATH = ~/rpi-kodols/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..

Tagad mūsu kodolam jāatrodas rt-kernel.tgz arhīvā un tas ir gatavs nosūtīšanai un instalēšanai.

5. solis: jauna kodola instalēšana

Vienkāršākais veids, kā nosūtīt kodolu uz raspbperry, ir scp.

Mēs vienkārši izpildām sekojošo komandu.

scp rt-kernel.tgz pi@:/tmp

Tagad mums ir jāpiesakās savā pi caur ssh un jāizpako mūsu kodols.

ssh pi@

Kad esat pieteicies, mēs kopējam savus failus, izmantojot šādas komandas.

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ēc tam atliek tikai rediģēt failu /boot/config.txt un pievienot šādu rindiņu.

kodols = kodols8.img

Pēc pi pārstartēšanas visam vajadzētu darboties labi.

Lai pārbaudītu, vai jauns kodols ir veiksmīgi instalēts, varat to izpildīt

uname -a

komandu

Ieteicams: