विषयसूची:
- आपूर्ति
- चरण 1: आवश्यक उपकरण प्राप्त करना
- चरण 2: क्रॉस संकलन के लिए नेटिव बिल्ड टूल्स का संकलन
- चरण 3: कर्नेल को पैच करना और कर्नेल को कॉन्फ़िगर करना।
- चरण 4: आरटी कर्नेल का निर्माण
- चरण 5: नया कर्नेल स्थापित करना
वीडियो: रास्पबेरी पाई 4बी के लिए 64 बिट आरटी कर्नेल संकलन: 5 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
यह ट्यूटोरियल रास्पबेरी पाई पर 64 बिट रीयल टाइम कर्नेल के निर्माण और स्थापना की प्रक्रिया को कवर करेगा। ROS2 और अन्य रीयल टाइम IOT समाधानों की पूर्ण कार्यक्षमता के लिए RT कर्नेल महत्वपूर्ण है।
कर्नेल x64 आधारित रास्पियन पर स्थापित किया गया था जिसे यहां प्राप्त किया जा सकता है
ध्यान दें। यह ट्यूटोरियल हालांकि सीधे तौर पर लिनक्स ऑपरेटिंग सिस्टम के बुनियादी ज्ञान की आवश्यकता है।
साथ ही इस प्लेटफॉर्म की सीमाओं के कारण सभी http लिंक में h की कमी है। उन्हें ठीक करने के लिए लिंक के सामने "h" को सरलता से जोड़ें।
आपूर्ति
x64 आधारित पीसी लिनक्स चल रहा है
रास्पबेरी पाई ४बी रास्पियन ६४ के साथ पहले से ही स्थापित
इंटरनेट से कनेक्शन।
चरण 1: आवश्यक उपकरण प्राप्त करना
सबसे पहले हमें neccecery dev tools को चुनना होगा।
उन्हें लिनक्स टर्मिनल में निम्नलिखित कमांड निष्पादित करके प्राप्त किया जा सकता है
sudo apt- बिल्ड-आवश्यक libgmp-dev libmpfr-dev libmpc-dev libisl-dev libncurses5-dev bc git-core बाइसन flexsudo apt-get install libncurses-dev libssl-dev इंस्टॉल करें
चरण 2: क्रॉस संकलन के लिए नेटिव बिल्ड टूल्स का संकलन
अगला कदम हमारे कर्नेल के क्रॉस संकलन के लिए उपकरण तैयार करना और संकलित करना है।
एफआइआर टूल जिसे हम इंस्टॉल कर रहे हैं वह है बिनुटिल्स इस ट्यूटोरियल का परीक्षण बिनुटिल्स संस्करण 2.35 के साथ किया गया था।
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 -- लक्ष्य = aarch64-linux-gnu --disable-nls
कॉन्फ़िगरेशन समाप्त होने के बाद हमें निम्न आदेशों का उपयोग करके प्रोग्राम को संकलित करने की आवश्यकता है:
मेक -जेएक्स
सुडो स्थापित करें
जहां -जेएक्स का मतलब है कि आप कितने काम चलाना चाहते हैं मैं पैरारेल। अंगूठे का नियम इसे आपके सिस्टम में मौजूद थ्रेड्स की मात्रा से अधिक नहीं रखना है। (उदाहरण के लिए मेक -j16)
और अंत में हमें पथ निर्यात करने की आवश्यकता है
निर्यात पथ = $ पथ: / ऑप्ट / aarch64 / बिन /
हम जीसीसी के निर्माण और स्थापना के साथ आगे बढ़ते हैं
सीडी..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_prequires./configure --prefix=/opt/aarch64 --target=aarch64-linux-gnu --with-newlib -- बिना हेडर / --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float / --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic / --enable-languages=c --disable-multilib
हमारे कंपाइलर को बनाने और स्थापित करने से पहले जैसा ही है
ऑल-जीसीसी -जेएक्स. बनाएं
सुडो मेक इंस्टाल-जीसीसी
अगर आदेश के बाद सब कुछ सुचारू रूप से चला गया
/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 इसके साथ कॉन्फ़िगर किया गया:./configure --prefix=/opt/aarch64 --target=aarch64-linux-gnu --with-newlib --with-headers --disable-nls --disable-shared --disable-threads --disable-libssp --अक्षम-दशमलव-फ्लोट --अक्षम-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-languages=c --disable-multilib थ्रेड मॉडल: एकल जीसीसी संस्करण ८.४.० (जीसीसी)
चरण 3: कर्नेल को पैच करना और कर्नेल को कॉन्फ़िगर करना।
अब हमारे कर्नेल और आरटी पैच प्राप्त करने का समय आ गया है।
यह ट्यूटोरियल rpi कर्नेल v 5.4 और RT पैच RT32 का उपयोग करेगा। इस संयोजन ने मेरे लिए अच्छा काम किया। हालांकि सब कुछ विभिन्न संस्करणों के साथ ठीक काम करना चाहिए।
एमकेडीआईआर ~/आरपीआई-कर्नेल
सीडी ~/आरपीआई-कर्नेल गिट क्लोन 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 कर्नेल-आउट cd linux
फिर पैच को अनपैक करें।
gzip -cd../patch-5.4.54-rt32.patch.gz | पैच -p1 --verbose
और आरपीआई 4बी के लिए कॉन्फ़िगरेशन प्रारंभ करें
O=../कर्नेल-आउट/ ARCH=arm64 CROSS_COMPILE=/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig बनाएं
इसके बाद हमें मेन्यूकॉन्फिग दर्ज करना होगा
O=../कर्नेल-आउट/ ARCH=arm64 CROSS_COMPILE=/opt/aarch64/bin/aarch64-linux-gnu- menuconfig बनाओ
जब यह लॉन्च होता है तो हमें मौजूदा कॉन्फ़िगरेशन की आवश्यकता होती है, फिर यहां जाएं
सामान्य -> प्रीमशन मॉडल और रीयल टाइम विकल्प चुनें।
हम नए कॉन्फ़िगरेशन को सहेजते हैं और मेनू से बाहर निकलते हैं।
चरण 4: आरटी कर्नेल का निर्माण
अब इसके संकलन का समय। ध्यान दें कि आपकी पीसी क्षमताओं के आधार पर इसमें लंबा समय लग सकता है।
मेक-जेएक्स ओ=../कर्नेल-आउट/एआरसीएच=आर्म64 CROSS_COMPILE=aarch64-linux-gnu-
पहले की तरह -jx का मतलब नौकरियों की संख्या है। सफल संकलन के बाद हमें अपने कर्नेल को पैक करना होगा और इसे रास्पबेरी पाई को भेजना होगा। ऐसा करने के लिए हम निम्नलिखित कमांड निष्पादित करते हैं।
निर्यात करें out/arch/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..
अब हमारा कर्नेल rt-kernel.tgz संग्रह के अंदर होना चाहिए और यह भेजने और स्थापित करने के लिए तैयार है।
चरण 5: नया कर्नेल स्थापित करना
हमारे कर्नेल को रास्पबेरी में भेजने का सबसे आसान तरीका scp का उपयोग करना है।
हम बस फॉलोविंग कमांड निष्पादित करते हैं।
scp rt-kernel.tgz pi@:/tmp
अब हमें ssh के माध्यम से हमारे pi में लॉग इन करना होगा और हमारे कर्नेल को अनपैक करना होगा।
एसएसएच पीआई@
लॉग इन होने पर हम निम्नलिखित कमांड का उपयोग करके अपनी फाइलों को कॉपी करते हैं।
cd /tmptar xzf rt-kernel.tgz cd बूट sudo cp -rd * /boot/ cd../lib sudo cp -dr * /lib/ cd../overlays sudo cp -dr * /boot/overlays cd../ ब्रॉडकॉम सूडो सीपी-डॉ बीसीएम* /बूट/
उसके बाद जो करना बाकी है वह है /boot/config.txt फ़ाइल को संपादित करना और निम्नलिखित पंक्ति जोड़ना।
कर्नेल = kernel8.img
पाई को रिबूट करने के बाद सब कुछ ठीक काम करना चाहिए।
यह जांचने के लिए कि क्या नया कर्नेल सफलतापूर्वक स्थापित किया गया था, आप निष्पादित कर सकते हैं
अनाम -ए
आदेश
सिफारिश की:
रास्पबेरी पाई 4बी पर 3 चरणों में फेस डिटेक्शन: 3 चरण
रास्पबेरी पाई 4 बी पर 3 चरणों में फेस डिटेक्शन: इस निर्देश में हम शुन्याफेस लाइब्रेरी का उपयोग करके शुन्या ओ / एस के साथ रास्पबेरी पाई 4 पर फेस-डिटेक्शन करने जा रहे हैं। शुन्याफेस एक चेहरा पहचान/पहचान पुस्तकालय है। इस परियोजना का उद्देश्य सबसे तेज पहचान और पहचान की गति हासिल करना है
रास्पबेरी पाई MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर पायथन ट्यूटोरियल: 4 कदम
रास्पबेरी पाई MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर पायथन ट्यूटोरियल: MMA8452Q एक स्मार्ट, लो-पावर, थ्री-एक्सिस, कैपेसिटिव, माइक्रोमैचिन्ड एक्सेलेरोमीटर है जिसमें 12 बिट रिज़ॉल्यूशन है। एक्सेलेरोमीटर में एम्बेडेड फ़ंक्शंस की सहायता से लचीले उपयोगकर्ता प्रोग्राम योग्य विकल्प प्रदान किए जाते हैं, जो दो इंटरअप के लिए कॉन्फ़िगर करने योग्य होते हैं
रास्पबेरी पाई ४बी ३डी प्रिंटेड टैबलेट: ८ कदम (चित्रों के साथ)
रास्पबेरी पाई 4बी 3डी प्रिंटेड टैबलेट: परियोजना की अवधारणा एक 3डी प्रिंट करने योग्य, रास्पबेरी पाई आधारित टैबलेट विकसित करना है। सभी भागों (घटकों) को प्राप्त करना आसान और आसानी से उपलब्ध होना चाहिए। इसमें एक बैटरी होनी चाहिए, और यह शक्ति का प्राथमिक स्रोत होना चाहिए (अर्थात, यह w चार्ज करेगा
रास्पबेरी पाई MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर जावा ट्यूटोरियल: 4 कदम
रास्पबेरी पाई MMA8452Q 3-एक्सिस 12-बिट/8-बिट डिजिटल एक्सेलेरोमीटर जावा ट्यूटोरियल: MMA8452Q एक स्मार्ट, लो-पावर, थ्री-एक्सिस, कैपेसिटिव, माइक्रोमैचिन्ड एक्सेलेरोमीटर है जिसमें 12 बिट रिज़ॉल्यूशन है। एक्सेलेरोमीटर में एम्बेडेड फ़ंक्शंस की सहायता से लचीले उपयोगकर्ता प्रोग्राम योग्य विकल्प प्रदान किए जाते हैं, जो दो इंटरअप के लिए कॉन्फ़िगर करने योग्य होते हैं
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना - रास्पबेरी पाई 3बी के साथ शुरुआत करना - अपना रास्पबेरी पाई सेट करना 3: 6 कदम
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना | रास्पबेरी पाई 3बी के साथ शुरुआत करना | अपना रास्पबेरी पाई 3 सेट करना: जैसा कि आप में से कुछ लोग जानते हैं कि रास्पबेरी पाई कंप्यूटर काफी शानदार हैं और आप पूरे कंप्यूटर को सिर्फ एक छोटे बोर्ड पर प्राप्त कर सकते हैं। रास्पबेरी पाई 3 मॉडल बी में क्वाड-कोर 64-बिट एआरएम कोर्टेक्स ए 53 है। 1.2 गीगाहर्ट्ज़ पर क्लॉक किया गया। यह पाई 3 को लगभग 50