Mündəricat:

Raspberry Pi 4B üçün 64bit RT Kernel Derlemesi.: 5 addım
Raspberry Pi 4B üçün 64bit RT Kernel Derlemesi.: 5 addım

Video: Raspberry Pi 4B üçün 64bit RT Kernel Derlemesi.: 5 addım

Video: Raspberry Pi 4B üçün 64bit RT Kernel Derlemesi.: 5 addım
Video: Raspberry PI 4B, Простая установка Supervised Home Assistant на RaspiOS 64 - Обновление октябрь 2022 2024, Noyabr
Anonim
Raspberry Pi 4B üçün 64bit RT Kernel Compilation
Raspberry Pi 4B üçün 64bit RT Kernel Compilation

Bu dərslik, Raspberry Pi üzərində 64 bitlik Real Zaman Çekirdeğinin qurulması və quraşdırılması prosesini əhatə edəcək. RT Kernel, ROS2 və digər Real Time IOT həllərinin tam işləməsi üçün çox vacibdir.

Kernel burada əldə edilə bilən x64 əsaslı Raspbian üzərində quraşdırılmışdır

Qeyd. Bu təlimat sadə olsa da Linux əməliyyat sistemi haqqında əsas bilik tələb edir.

Həm də bu platformanın məhdudiyyətləri səbəbindən bütün http bağlantılarında h yoxdur. Onları düzəltmək üçün linkin ön hissəsinə "h" əlavə edin

Təchizat

Linux ilə işləyən x64 əsaslı kompüter

Raspbian 64 ilə Raspberry Pi 4B artıq quraşdırılmışdır

İnternetə qoşulma.

Addım 1: Lazımi alətlər əldə edin

Əvvəlcə zərgərlik alətləri əldə etməliyik.

Linux terminalında aşağıdakı əmrləri yerinə yetirməklə əldə edilə bilər

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

Addım 2: Çapraz Kompilyasiya üçün Native Build Tools tərtib edin

Növbəti addım, nüvəmizin çarpaz tərtib edilməsi üçün alətləri hazırlamaq və tərtib etməkdir.

Quracağımız Firs aləti Binutils -dir, bu təlimat binutils 2.35 versiyası ilə sınaqdan keçirilmişdir.

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

Konfiqurasiya başa çatdıqdan sonra aşağıdakı əmrləri istifadə edərək proqramı tərtib etməliyik

etmək -jx

sudo qurun

harada -jx, nə qədər iş görmək istədiyini bildirir. Əsas qayda, sisteminizdə olan mövzuların sayından daha yüksək olmamaqdır. (məsələn -j16 et)

və nəhayət yolu ixrac etməliyik

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

GCC -nin inşasına və quraşdırılmasına davam edirik

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 --with-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

Kompilyatorumuzu düzəltmədən və quraşdırmadan əvvəl olduğu kimi

all -gcc -jx edin

sudo install-gcc qurun

Hər şey qaydasında gedirsə, əmri yerinə yetirin

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

buna bənzər bir cavab verməlidir.

ux-gnu-gcc -v Daxili xüsusiyyətlərdən istifadə. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Hədəf: aarch64-linux-gnu Konfiqurasiya edilib:./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu --with-newlib --with-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))

Addım 3: Çekirdeği Düzəltmək və Nüvəni Konfiqurasiya etmək

İndi kernel və RT yamamızı əldə etməyin vaxtı gəldi.

Bu təlimatda rpi kernel v 5.4 və RT yaması RT32 istifadə ediləcək. Bu kombinasiya mənim üçün yaxşı iş gördü. Ancaq fərqli versiyalarla hər şey yaxşı işləməlidir.

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

sonra yamağı açın.

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

Və Rpi 4B üçün konfiqurasiya

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

Bundan sonra menuconfigə daxil olmalıyıq

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

Güldükdə mövcud konfiqurasiyaya ehtiyacımız var, sonra gedin

Ümumi -> Preemtion Mode və Real Time seçimini seçin.

yeni konfiqurasiyanı saxlayıb menyudan çıxdığımıza görə.

Addım 4: RT Kernelinin qurulması

İndi kompilyasiya vaxtıdır. Kompüterinizin imkanlarından asılı olaraq uzun müddət çəkə bilər.

etmək -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-

Əvvəlki kimi -jx iş sayı deməkdir. Uğurlu tərtib edildikdən sonra Kernelimizi yığmalı və Raspberry Pi -yə göndərməliyik. Bunu etmək üçün aşağıdakı əmrləri yerinə yetiririk.

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

İndi nüvəmiz rt-kernel.tgz arxivində olmalı və göndərilməyə və quraşdırılmağa hazır olmalıdır.

Addım 5: Yeni Kernelin Qurulması

Nüvəmizi raspbperry -ə göndərməyin ən asan yolu scp istifadə etməkdir.

Sadəcə aşağıdakı əmri yerinə yetiririk.

scp rt-kernel.tgz pi@:/tmp

İndi ssh vasitəsilə pi -ə daxil olmalı və Kernelimizi açmalıyıq.

ssh pi@

Daxil olanda sənədlərimizi aşağıdakı əmrlərdən istifadə edərək kopyalayırıq.

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 /

Bundan sonra /boot/config.txt faylını redaktə etmək və aşağıdakı sətri əlavə etmək qalır.

kernel = kernel8.img

Pi yenidən başladıqdan sonra hər şey yaxşı işləməlidir.

Yeni bir nüvənin uğurla quraşdırıldığını yoxlamaq üçün icra edə bilərsiniz

uname -a

əmr

Tövsiyə: