![Raspberry Pi 4B uchun 64bit RT yadroli kompilyatsiya.: 5 qadam Raspberry Pi 4B uchun 64bit RT yadroli kompilyatsiya.: 5 qadam](https://i.howwhatproduce.com/images/001/image-528-24-j.webp)
Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
![Raspberry Pi 4B uchun 64bit RT yadroli kompilyatsiya Raspberry Pi 4B uchun 64bit RT yadroli kompilyatsiya](https://i.howwhatproduce.com/images/001/image-528-25-j.webp)
Ushbu qo'llanma Raspberry Pi -da 64 bitli real vaqt yadrosini yaratish va o'rnatish jarayonini o'z ichiga oladi. RT Kernel ROS2 va boshqa real vaqtda IOT echimlarining to'liq ishlashi uchun juda muhimdir.
Kernel x64 -ga asoslangan Raspbian -ga o'rnatildi, uni bu erda olish mumkin
Eslatma. Ushbu qo'llanma sodda bo'lsa ham, Linux operatsion tizimi haqida asosiy bilimlarni talab qiladi.
Shuningdek, ushbu platformaning cheklanganligi tufayli barcha http havolalarida h yo'q. Ularni tuzatish uchun havolaning old qismiga "h" ni qo'shing
Ta'minotlar
Linux bilan ishlaydigan x64 asosidagi kompyuter
Raspbian 64 bilan Raspberry Pi 4B allaqachon o'rnatilgan
Internetga ulanish.
1 -qadam: Kerakli asboblarni olish
Birinchidan, biz zarur asboblarni tanlashimiz kerak.
Ularni Linux terminalida quyidagi buyruqlarni bajarish orqali olish mumkin
libncurses
2 -qadam: O'zaro kompilyatsiya uchun mahalliy qurilish vositalarini yig'ish
Keyingi qadam, yadroni o'zaro kompilyatsiya qilish uchun asboblarni tayyorlash va kompilyatsiya qilish.
Biz o'rnatadigan Firs vositasi - Binutils, bu qo'llanma binutils 2.35 versiyasi bilan sinovdan o'tgan.
cd ~/Yuklamalarwget 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
Konfiguratsiya tugagandan so'ng, biz quyidagi buyruqlar yordamida dasturni kompilyatsiya qilishimiz kerak
-jx qiling
sudo make install
bu erda -jx qancha ishni bajarishni xohlayotganingizni anglatadi i parrarell. Qoida - bu sizning tizimingizdagi iplar sonidan oshmasligi. (masalan, -j16 qiling)
va nihoyat biz yo'lni eksport qilishimiz kerak
eksport PATH = $ PATH:/opt/aarch64/bin/
GCCni qurish va o'rnatishni davom ettiramiz
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
Kompilyatorni yasash va o'rnatishdan oldin bo'lgani kabi
all -gcc -jx qiling
sudo install-gcc
Agar hamma narsa tartibda bo'lsa, buyruqni bajaring
/opt/aarch64/bin/aarch64-linux-gnu-gcc -v
shunga o'xshash javob berishi kerak.
ux-gnu-gcc -v O'rnatilgan xususiyatlardan foydalanish. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Maqsad: aarch64-linux-gnu Konfiguratsiya qilingan:./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 modeli: bitta gcc versiyasi 8.4.0 (GCC))
3 -qadam: yadroni tuzatish va yadroni sozlash
Endi bizning yadro va RT tuzatishlarni olish vaqti keldi.
Bu qo'llanmada rpi kernel v 5.4 va RT patch RT32 ishlatiladi. Bu kombinatsiya men uchun yaxshi ishladi. Ammo hamma narsa har xil versiyalarda yaxshi ishlashi kerak.
mkdir ~/rpi-yadrosi
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 yadrodan chiqarilgan cd linux
keyin yamoqni oching.
gzip -cd../patch-5.4.54-rt32.patch.gz | patch -p1 -verbose
Rpi 4B uchun konfiguratsiyani boshlang
O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig
Keyin biz menukonfigga kirishimiz kerak
O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- menuconfig
Kulganda, biz mavjud konfiguratsiyaga muhtojmiz, keyin o'ting
Umumiy -> Oldindan ko'rish modeli va "Real vaqt" variantini tanlang.
biz yangi konfiguratsiyani saqlaymiz va menyudan chiqamiz.
4 -qadam: RT yadrosini yaratish
Endi uning kompilyatsiya vaqti. Shuni esda tutingki, bu sizning kompyuteringizning imkoniyatlariga qarab ancha vaqt talab qilishi mumkin.
qilish -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
Avvalgi kabi -jx ish o'rinlari sonini bildiradi. Muvaffaqiyatli kompilyatsiya qilinganidan so'ng, biz yadroni yig'ib, Raspberry Pi -ga yuborishimiz kerak. Buning uchun biz quyidagi buyruqlarni bajaramiz.
eksport qilish 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..
Endi bizning yadroimiz rt-kernel.tgz arxivida bo'lishi va uni yuborish va o'rnatishga tayyor bo'lishi kerak.
5 -qadam: Yangi yadroni o'rnatish
Bizning yadroni raspbperry -ga yuborishning eng oson usuli - scp yordamida.
Biz faqat quyidagi buyruqni bajaramiz.
scp rt-kernel.tgz pi@:/tmp
Endi biz ssh orqali pi -ga kirishimiz va yadroni ochishimiz kerak.
ssh pi@
Tizimga kirganimizda biz quyidagi buyruqlar yordamida fayllarimizni nusxa ko'chiramiz.
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 /
Shundan so'ng, /boot/config.txt faylini tahrir qilish va keyingi qatorni qo'shish qoladi.
yadro = yadro8.img
Qayta ishga tushirilgandan so'ng, hamma narsa yaxshi ishlashi kerak.
Yangi yadro muvaffaqiyatli o'rnatilganligini tekshirish uchun siz bajarishingiz mumkin
uname -a
buyruq
Tavsiya:
Z80 MBC2 - QP/M Bios va Loader -ni qayta kompilyatsiya qilish: 6 qadam
![Z80 MBC2 - QP/M Bios va Loader -ni qayta kompilyatsiya qilish: 6 qadam Z80 MBC2 - QP/M Bios va Loader -ni qayta kompilyatsiya qilish: 6 qadam](https://i.howwhatproduce.com/images/002/image-3550-j.webp)
Z80 MBC2 - QP/M Bios va Loader -ni qayta kompilyatsiya qilish: Agar men kabi siz ham MBC2 uchun QP/M biosini qayta kompilyatsiya qilishingiz kerak bo'lgan vaziyatga tushib qolsangiz - mana siz shunday qilasiz. mavjud versiyani qanday qayta kompilyatsiya qilish jarayoni. Haqiqiy Biosga o'zgartirish kiritish sizga bog'liq
Z80 MBC2 - CPM2.2 Bios -ni qayta kompilyatsiya qilish: 4 qadam
![Z80 MBC2 - CPM2.2 Bios -ni qayta kompilyatsiya qilish: 4 qadam Z80 MBC2 - CPM2.2 Bios -ni qayta kompilyatsiya qilish: 4 qadam](https://i.howwhatproduce.com/images/002/image-4614-j.webp)
Z80 MBC2 - CPM2.2 Bios -ni qayta kompilyatsiya qilish: Agar men kabi siz ham MBC2 uchun CP/M biosini (2.2) qayta kompilyatsiya qilishingiz kerak bo'lgan vaziyatga tushib qolsangiz, buni shunday qilasiz. Mening ishim, har safar dastur mavjud bo'lganda yoki siz ctrl-c bajarganingizda "WARM BOOT" xabarini olib tashlamoqchi edim. Men a
3D bosilgan Arduino to'rt yadroli robot: 13 qadam (rasmlar bilan)
![3D bosilgan Arduino to'rt yadroli robot: 13 qadam (rasmlar bilan) 3D bosilgan Arduino to'rt yadroli robot: 13 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/002/image-5520-j.webp)
3D bosma Arduino bilan ishlaydigan to'rtburchaklar robot: Oldingi ko'rsatmalarni ko'rib turibsizki, men robot loyihalarga katta qiziqish bilan qarayman. Oldingi yo'riqnomadan so'ng, men ikki oyoqli robot qurdim, men it kabi hayvonlarga taqlid qiladigan to'rtburchaklar robotni yaratishga qaror qildim
Ikki yadroli Arduino IDE: masofadan boshqarish: 8 qadam
![Ikki yadroli Arduino IDE: masofadan boshqarish: 8 qadam Ikki yadroli Arduino IDE: masofadan boshqarish: 8 qadam](https://i.howwhatproduce.com/images/006/image-17056-26-j.webp)
Ikki yadroli Arduino IDE: masofadan boshqarish pulti: Bu video "ko'p" haqida. Biz ko'p vazifali, ko'p yadroli va ko'p mijozli bilan shug'ullanamiz. Biroz oldin men ikkita ESP bilan masofadan boshqarish pultini qildim: mijoz va kirish nuqtasi. Shunga asoslanib, bugun biz ko'p mijozli serverni o'rnatamiz. Bu shuni anglatadiki, biz
Orange PI HowTo: Windows ostida Windows uchun Sunxi vositasini kompilyatsiya qilish: 14 qadam (rasmlar bilan)
![Orange PI HowTo: Windows ostida Windows uchun Sunxi vositasini kompilyatsiya qilish: 14 qadam (rasmlar bilan) Orange PI HowTo: Windows ostida Windows uchun Sunxi vositasini kompilyatsiya qilish: 14 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/004/image-9278-19-j.webp)
Orange PI HowTo: Windows ostida Windows uchun Sunxi asbobini kompilyatsiya qiling: TALABLAR: Sizga Windows bilan ishlaydigan (ish stoli) kompyuter kerak bo'ladi. Internetga ulanish. To'q rangli PI karta. Oxirgi ixtiyoriy, lekin aminmanki, sizda allaqachon bor. Aks holda, siz buni o'qimaysiz. Apelsin PI gunohini sotib olganingizda