Mündəricat:
- Təchizat
- Addım 1: Lazımi alətlər əldə edin
- Addım 2: Çapraz Kompilyasiya üçün Native Build Tools tərtib edin
- Addım 3: Çekirdeği Düzəltmək və Nüvəni Konfiqurasiya etmək
- Addım 4: RT Kernelinin qurulması
- Addım 5: Yeni Kernelin Qurulması
Video: Raspberry Pi 4B üçün 64bit RT Kernel Derlemesi.: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
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ə:
Wi-Fi yönlendiriciniz üçün saatlarla işləmək üçün UPS-ni Steam Punk: 4 addım (şəkillərlə)
Wi-Fi yönlendiriciniz üçün saatlarla işləmək üçün UPS-ni Steam Punk: UPS-in 12V DC batareya gücünü 220V AC gücünə çevirməsi ilə bağlı əsaslı olaraq razı olmayan bir şey var ki, routerinizi və fiber ONT-ni işlədən transformatorlar onu yenidən 12V DC! Siz də [adətən
Robotdan qaçınmaq üçün əngəl yaratmaq üçün necə: 6 addım
Robotdan Engel Oynayan Necə Yapılır: Maneədən Kaçan Robot, bir arduino tərəfindən idarə olunan sadə bir robotdur və nə edirsə, ətrafda dolaşır və maneələrin qarşısını alır. HC-SR04 ultrasəs sensoru ilə maneələri aşkar edir, başqa sözlə robot yaxınlıqdakı obyekti hiss edərsə
Tamildə Multimetrdən necə istifadə olunur - Başlayanlar üçün Təlimat - Yeni başlayanlar üçün multimetr: 8 addım
Tamildə Multimetrdən necə istifadə olunur | Başlayanlar üçün Təlimat | Yeni başlayanlar üçün multimetr: Salam Dostlar, bu dərslikdə multimetrenin hər cür elektron dövriyyədə 7 fərqli addımda necə istifadə olunacağını izah etdim, 1) problemlərin aradan qaldırılması üçün cihazın davamlılığı testi 2) DC cərəyanının ölçülməsi 3) Diod və LED -in sınanması 4) Ölçmə Resi
Şəbəkənizdə Windows Kernel Hata Ayıklayıcısını necə qurmaq olar: 6 addım
Şəbəkənizdə Windows Kernel Hata Ayıklayıcısını Necə Qurmaq olar: Hata Ayıklama, bir səhvin səbəbini öyrənmək üçün istifadə edilən məşhur bir vasitədir. Bir böcək özünü müxtəlif yollarla yoluxdura bilər. bir sistem çökməsinə səbəb ola bilər (mavi ekran/BSOD), bir tətbiqin çökməsinə səbəb ola bilər, sisteminizin donmasına səbəb ola bilər
Aeroport Kernel Panik Problemləri ilə Qırılan IBook G4 -ün Təmin Edilməsi: 4 Addım
Aeroport Kernel Panik Məsələləri ilə Qırılan IBook G4-ün Düzəldilməsi: Hər kəsə salam! Nəhayət :-) Təlimatlandırmağa dəyər bir şey əldə etdim, yəqin ki, buradasınız, çünki good'ol iBook-unuz Mac OS 10.4-dən yeniləmədən sonra qəribə hərəkət etməyə başladı. 8 ilə 10.4.9 arasında. Hər zaman əldə etdiyiniz şəkildə