Përmbajtje:

Përpilim 64bit RT Kernel për Raspberry Pi 4B.: 5 hapa
Përpilim 64bit RT Kernel për Raspberry Pi 4B.: 5 hapa

Video: Përpilim 64bit RT Kernel për Raspberry Pi 4B.: 5 hapa

Video: Përpilim 64bit RT Kernel për Raspberry Pi 4B.: 5 hapa
Video: Delphi Программирование / Android NDK, SDK, Java Machine, JDK, Nox Player, AVD Android Эмулятор 2024, Korrik
Anonim
Përpilim 64bit RT Kernel për Raspberry Pi 4B
Përpilim 64bit RT Kernel për Raspberry Pi 4B

Ky tutorial do të mbulojë procesin e ndërtimit dhe instalimit të Kernelit Real Time 64 bit në Raspberry Pi. RT Kernel është thelbësor për funksionalitetin e plotë të ROS2 dhe zgjidhjeve të tjera IOT në kohë reale.

Kernel u instalua në Raspbian të bazuar në x64, i cili mund të merret këtu

Shënim. Ky tutorial edhe pse i drejtpërdrejtë kërkon njohuri themelore të sistemit operativ Linux.

Gjithashtu për shkak të kufizimeve të kësaj platforme të gjitha lidhjeve http u mungon h. Për t'i rregulluar ato thjesht, shtoni "h" në pjesën e përparme të lidhjes

Furnizimet

PC i bazuar në x64 që funksionon Linux

Raspberry Pi 4B me Raspbian 64 tashmë të instaluar

Lidhja me internetin.

Hapi 1: Marrja e mjeteve të nevojshme

Së pari ne duhet të zgjedhim mjetet e krijimit të neccecery.

Ato mund të merren duke ekzekutuar komandat e mëposhtme në terminalin Linux

sudo apt-get install build-thelbësore libgmp-dev libmpfr-dev libmpc-dev libisl-dev libncurses5-dev bc git-core bison flexsudo apt-get install libncurses-dev libssl-dev

Hapi 2: Përpilimi i mjeteve amtare të ndërtimit për përpilimin e kryqëzuar

Hapi tjetër është përgatitja dhe përpilimi i mjeteve për përpilimin kryq të kernelit tonë.

Mjeti Firs që do të instalojmë është Binutils ky tutorial u testua me binutils versionin 2.35.

cd ~/Downloadswget ttps: //ftp.gnu.org/gnu/binutils/binutils-2.35.tar.bz2tar xf binutils-2.35.tar.bz2cd binutils-2.35 /./ konfiguro --prefix =/opt/aarch64- target = aarch64-linux-gnu --disable-nls

Pas përfundimit të konfigurimit, ne duhet të përpilojmë programin duke përdorur komandat e mëposhtme

bëj -jx

sudo make install

ku -jx do të thotë sa punë doni të drejtoni i parrarell. Rregulli i përgjithshëm është ta vendosni atë jo më shumë se sasia e fijeve që ka sistemi juaj. (për shembull bëni -j16)

dhe së fundi duhet të eksportojmë rrugën

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

Se ne vazhdojmë me ndërtimin dhe instalimin e 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-pa-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

Në të njëjtën mënyrë si më parë ne bëjmë dhe instalojmë përpiluesin tonë

bëj të gjithë -gcc -jx

sudo make install-gcc

Nëse gjithçka shkoi pa probleme duke ndjekur komandën

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

duhet të përgjigjet në përgjigje të ngjashme me këtë.

ux-gnu-gcc -v Përdorimi i veçorive të integruara. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Target: aarch64-linux-gnu Konfiguruar me:./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu --with-newlib-pa-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 Modeli i temës: version i vetëm gcc 8.4.0 (GCC)

Hapi 3: Patching Kernel dhe Konfigurimi i Kernel

Tani është koha për të marrë arnën tonë të kernelit dhe RT.

Ky tutorial do të përdorë rpi kernel v 5.4 dhe RT patch RT32. Ky kombinim funksionoi mirë për mua. Sidoqoftë, gjithçka duhet të funksionojë mirë me versione të ndryshme.

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

pastaj shpaketoni arnimin.

gzip -cd../patch-5.4.54-rt32.patch.gz | arna -p1 -fjalë e folur

Dhe filloni konfigurimin për Rpi 4B

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

Pas kësaj ne kemi nevojë për të hyrë në menuconfig

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

Kur të shfaqet ne kemi nevojë për konfigurimin ekzistues, atëherë shkoni te

E Përgjithshme -> Modeli i Preemtionit dhe zgjidhni opsionin Real Time.

sesa të ruajmë konfigurimin e ri dhe të dalim nga menyja.

Hapi 4: Ndërtimi i kernelit RT

Tani është koha e përpilimit. Vini re se mund të zgjasë një kohë të gjatë në varësi të aftësive të kompjuterit tuaj.

bëj -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-

Si më parë -jx nënkupton numrin e punëve. Pas përpilimit të suksesshëm, ne duhet të paketojmë Kernel -in tonë dhe ta dërgojmë atë në Raspberry Pi. Për ta bërë këtë, ne ekzekutojmë komandat e mëposhtme.

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- mods_in jashtë/hark/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..

Tani kerneli ynë duhet të jetë brenda arkivit rt-kernel.tgz dhe është gati për t'u dërguar dhe instaluar.

Hapi 5: Instalimi i kernelit të ri

Mënyra më e lehtë për të dërguar kernelin tonë në raspbperry është duke përdorur scp.

Ne thjesht ekzekutojmë komandën e mëposhtme.

scp rt-kernel.tgz pi@:/tmp

Tani ne duhet të identifikohemi në pi tonë nëpërmjet ssh dhe të shpaketojmë Kernel -in tonë.

ssh pi@

Kur të regjistroheni ne kopjojmë skedarët tanë duke përdorur komandat e mëposhtme.

cd/tmptar xzf rt -kernel.tgz cd boot sudo cp -rd */boot/cd../lib sudo cp -dr */lib/cd../ mbivendos sudo cp -dr */boot/mbivendos cd../ broadcom sudo cp -dr bcm* /boot /

Pas kësaj ajo që mbetet për të bërë është të redaktoni skedarin /boot/config.txt dhe të shtoni rreshtin vijues.

kernel = kernel8.img

Pas rindezjes pi gjithçka duhet të funksionojë mirë.

Për të kontrolluar nëse kerneli i ri është instaluar me sukses, mund ta ekzekutoni

uname -a

komandë

Recommended: