فهرست مطالب:
- تدارکات
- مرحله 1: تهیه ابزارهای مورد نیاز
- مرحله 2: جمع آوری ابزارهای ساخت بومی برای جمع آوری متقابل
- مرحله 3: وصله هسته و پیکربندی هسته
- مرحله 4: ساخت هسته RT
- مرحله 5: نصب New Kernel
تصویری: 64bit RT Kernel Compilation for Raspberry Pi 4B.: 5 Step
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
این آموزش مراحل ساخت و نصب کرنل زمان واقعی 64 بیتی روی رزبری پای را پوشش می دهد. RT Kernel برای عملکرد کامل ROS2 و سایر راه حلهای IOT در زمان واقعی بسیار مهم است.
کرنل بر روی Raspbian مبتنی بر x64 نصب شده است که در اینجا قابل دریافت است
توجه داشته باشید. این آموزش اگرچه ساده نیاز به دانش اولیه در مورد سیستم عامل لینوکس دارد.
همچنین به دلیل محدودیت های این پلتفرم ، همه پیوندهای http فاقد h هستند. برای رفع آنها به سادگی "h" را در جلوی پیوند اضافه کنید
تدارکات
کامپیوتر مبتنی بر x64 که لینوکس را اجرا می کند
Raspberry Pi 4B با Raspbian 64 قبلاً نصب شده است
اتصال به اینترنت.
مرحله 1: تهیه ابزارهای مورد نیاز
ابتدا باید ابزارهای neccecery dev را انتخاب کنیم.
آنها را می توان با اجرای دستورات زیر در ترمینال لینوکس به دست آورد
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: جمع آوری ابزارهای ساخت بومی برای جمع آوری متقابل
گام بعدی این است که ابزارهایی را برای کامپایل متقاطع هسته آماده کرده و کامپایل کنیم.
ابزار Firs که ما نصب خواهیم کرد Binutils است این آموزش با binutils نسخه 2.35 آزمایش شده است.
cd ~/Downloadswget ttps: //ftp.gnu.org/gnu/binutils/binutils-2.35.tar.bz2tar xf binutils-2.35.tar.bz2cd binutils-2.35 /./ پیکربندی --prefix =/opt/aarch64- target = aarch64-linux-gnu --disable-nls
پس از اتمام پیکربندی ، ما باید برنامه را با استفاده از دستورات زیر کامپایل کنیم
make -jx
sudo make install
where -jx به این معنی است که چند کار می خواهید i parrarell اجرا کنید. قاعده کلی این است که آن را بیش از مقدار نخ هایی که سیستم شما دارد قرار ندهید. (برای مثال make -j16)
و در نهایت ما باید مسیر را صادر کنیم
PATH صادرات = $ PATH:/opt/aarch64/bin/
سپس به ساخت و نصب 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-بدون-header / --disable-nls -disable-shared --disable-threads --disable-libssp --disable-decimal-float / --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic / --enable-languages = c --disable-multilib
مانند قبل از اینکه کامپایلر خود را بسازیم و نصب کنیم
all -gcc -jx بسازید
sudo make install-gcc
اگر همه چیز بدون فرمان پیش رفت پس از فرمان
/opt/aarch64/bin/aarch64-linux-gnu-gcc -v
باید در پاسخ مشابه این پاسخ دهد.
ux-gnu-gcc -v با استفاده از مشخصات داخلی. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper هدف: aarch64-linux-gnu پیکربندی شده با: است. --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-languages = c --disable-multilib مدل موضوع: تک gcc نسخه 8.4.0 (GCC)
مرحله 3: وصله هسته و پیکربندی هسته
اکنون زمان آن رسیده است که هسته و RT را دریافت کنیم.
در این آموزش از rpi kernel v 5.4 و RT patch RT32 استفاده می شود. این ترکیب برای من خوب کار کرد. با این حال همه چیز باید با نسخه های مختلف خوب کار کند.
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
سپس بسته را باز کنید.
gzip -cd../patch-5.4.54-rt32.patch.gz | patch -p1 -verbose
و پیکربندی اولیه برای Rpi 4B
ایجاد O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig
پس از این ما باید وارد تنظیمات منو شویم
ایجاد O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- menuconfig
هنگامی که ظاهر می شود به تنظیمات موجود نیاز داریم ، سپس به
عمومی -> Preemtion Model و گزینه Real Time را انتخاب کنید.
نسبت به ذخیره تنظیمات جدید و خروج از منو.
مرحله 4: ساخت هسته RT
اکنون زمان گردآوری آن است. توجه داشته باشید بسته به قابلیت رایانه شما ممکن است زمان زیادی طول بکشد.
make -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
مانند قبل -jx به معنی تعداد مشاغل است. پس از کامپایل موفقیت آمیز ، ما باید هسته خود را بسته بندی کرده و آن را برای رزبری پای ارسال کنیم. برای انجام این کار ، دستورات زیر را اجرا می کنیم.
صادرات 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_ out/arch/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..
اکنون کرنل ما باید در بایگانی rt-kernel.tgz باشد و آماده ارسال و نصب باشد.
مرحله 5: نصب New Kernel
ساده ترین راه برای ارسال هسته ما به raspbperry استفاده از scp است.
ما به سادگی دستور follwing را اجرا می کنیم.
scp rt-kernel.tgz pi@:/tmp
اکنون باید از طریق ssh به pi خود وارد شوید و هسته خود را باز کنید.
ssh pi@
هنگام ورود به سیستم ، فایل های خود را با استفاده از دستورات زیر کپی می کنیم.
cd/tmptar xzf rt -kernel.tgz cd boot sudo cp -rd */boot/cd../lib sudo cp -dr */lib/cd../ overdoys sudo cp -dr */boot/overlays cd../ broadcom sudo cp -dr bcm* /boot /
پس از آن کاری که باید انجام دهید این است که فایل /boot/config.txt را ویرایش کرده و خط زیر را اضافه کنید.
kernel = kernel8.img
پس از راه اندازی مجدد pi همه چیز باید خوب کار کند.
برای بررسی اینکه آیا هسته جدید با موفقیت نصب شده است می توانید اجرا کنید
uname -a
فرمان
توصیه شده:
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Java Java: 4 Step
Raspberry Pi-TMD26721 Infrared Digital Proximity Detector Java Java: TMD26721 یک آشکارساز مجاورت دیجیتالی مادون قرمز است که یک سیستم تشخیص مجاورت کامل و منطق رابط دیجیتال را در یک ماژول نصب سطح 8 پین تک فراهم می کند. تشخیص مجاورت شامل بهبود سیگنال به نویز و دقت. یک حرفه ای
Raspberry Pi DIY Remote Intruder Detector System with Telegram: 7 Step
Raspberry Pi DIY Remote Intruder Detector System with Telegram: در این پروژه شما یک دستگاه تشخیص نفوذ ایجاد می کنید که بررسی می کند وقتی در خارج از منزل از یک سنسور PIR استفاده می کنید ، کسی داخل خانه یا اتاق شما باشد ، اگر سنسور PIR شخصی را تشخیص دهد ، به یک مورد نیاز است. (مجموعه ای) از عکس مزاحم. تصویر
کنسول بازی دستی DIY Raspberry Pi Zero: 6 Step (همراه با تصاویر)
کنسول بازی دستی DIY Raspberry Pi Zero: در این پروژه به شما نشان خواهم داد که چگونه از Raspberry Pi Zero ، باتری های NiMH ، مدار محافظ بیش از حد تخلیه خانگی ، LCD عقب و آمپلی فایر برای ایجاد یک کنسول بازی دستی که می تواند استفاده کند استفاده کردم. بازی های یکپارچهسازی با سیستمعامل بیایید شروع کنیم
ضد آب Raspberry Pi Powered Wifi DSLR Webcam for Time Lapses: 3 Step (with Pictures)
ضد آب Raspberry Pi Powered Wifi DSLR Webcam for Time Lapses: من مکنده تماشای غروب خورشید از خانه هستم. آنقدر که وقتی غروب خوبی است و برای دیدن آن در خانه نیستم کمی FOMO دریافت می کنم. وب کم های IP کیفیت تصویر ناامیدکننده ای را ارائه می دهند. من شروع به جستجوی راه هایی برای استفاده مجدد از اولین DSLR خود کردم: Cano 2007
ربات خانگی EWON Raspberry Pi: 7 Step (همراه با تصاویر)
روبات خانگی EWON Raspberry Pi: اخیراً با توجه به شرایط فعلی خود را در حال تماشای زیاد سریال های Netflix دیدم ، امیدوارم همه شما در سلامت باشید و دیدم فصل 5 Black Mirror منتشر شد. یک مجموعه گلچین که حول گروهی از زندگی شخصی افراد می چرخد