विषयसूची:

रास्पबेरी पाई 4 उबंटू यूएसबी बूट (कोई एसडी कार्ड नहीं): 9 कदम
रास्पबेरी पाई 4 उबंटू यूएसबी बूट (कोई एसडी कार्ड नहीं): 9 कदम

वीडियो: रास्पबेरी पाई 4 उबंटू यूएसबी बूट (कोई एसडी कार्ड नहीं): 9 कदम

वीडियो: रास्पबेरी पाई 4 उबंटू यूएसबी बूट (कोई एसडी कार्ड नहीं): 9 कदम
वीडियो: How To Run Ubuntu MATE From USB Drive Raspberry pi 3 or 2 2024, नवंबर
Anonim
रास्पबेरी पाई 4 उबंटू यूएसबी बूट (कोई एसडी कार्ड नहीं)
रास्पबेरी पाई 4 उबंटू यूएसबी बूट (कोई एसडी कार्ड नहीं)

निर्देश नीचे हैं, और बिना एसडी कार्ड के रास्पबेरी पाई 4 को बूट करने में आपका मार्गदर्शन करेंगे।

यदि आप चरणों का पालन नहीं करना चाहते हैं, तो मूल पोस्ट पर पूर्व-निर्मित चित्र हैं। बस इन छवियों को USB ड्राइव पर फ्लैश करें, और आप जाने के लिए अच्छे हैं (जब तक आपके पास एक EEPROM है जो USB बूटिंग का समर्थन करता है - चरण 3)

आपूर्ति

रास्पबेरी पाई 4

यूएसबी एसएसडी या फ्लैश ड्राइव

चरण 1: उबंटू साइट से रास्पबेरी पाई के लिए उबंटू डाउनलोड करें

रास्पबेरी पाई 4 के लिए उबंटू छवि डाउनलोड करें उबंटू की आधिकारिक वेबसाइट।

ubuntu.com/download/raspberry-pi

चरण 2: USB डिस्क पर छवि लिखें

छवि को USB ड्राइव पर फ्लैश करें। यह USB स्टिक या USB SSD हो सकता है। मैं विंडोज़ और मैकोज़ पर बलेना एचर का उपयोग करने की अनुशंसा करता हूं। यदि आप उबंटू का उपयोग कर रहे हैं, तो बिल्ट-इन इमेज राइटर ठीक काम करेगा।

www.balena.io/etcher/

चरण 3: रास्पबेरी पाई EEPROM को अपडेट करें

इस चरण के लिए, कई उप-चरण हैं। यदि आपने पहले ही रास्पबेरी पाई EEPROM को "स्थिर" रिलीज़ में अपडेट कर दिया है, तो आप इस चरण को छोड़ सकते हैं।

सबसे पहले, आपको एक SD कार्ड में RaspberryPiOS छवि (https://www.raspberrypi.org/downloads/raspberry-pi-os/) लिखनी होगी।

दूसरा, रास्पबेरी पाई को बूट करें, और /etc/default/rpi-eeprom-update फ़ाइल को टाइप करके संपादित करें

सुडो नैनो / आदि / डिफ़ॉल्ट / आरपीआई-एप्रोम-अपडेट

और "FIRMWARE_RELEASE_STATUS" प्रविष्टि को महत्वपूर्ण से स्थिर में बदलें।

तीसरा, भागो

sudo rpi-eeprom-update -a

टर्मिनल से, और अपडेट को समाप्त होने दें।

यदि आपको उनकी आवश्यकता है तो अधिक जानकारी के लिए देखें

चरण 4: रास्पबेरी पाई फर्मवेयर अपडेट करें

रास्पबेरी पाई जीथब साइट (https://github.com/raspberrypi/firmware/tree/master/boot) से अपडेट की गई फर्मवेयर फाइलें डाउनलोड करें।

चरण 2 से उबंटू छवि के साथ फ्लैश किए गए यूएसबी ड्राइवर पर सभी *.dat और *.elf फ़ाइलों को उबंटू बूट विभाजन में कॉपी करें। (उन फ़ाइलों को अधिलेखित करें जो पहले वहां थीं)

चरण 5: कर्नेल को डीकंप्रेस करें

रास्पबेरी पाई 4 बूटलोडर एक संपीड़ित कर्नेल छवि नहीं ले सकता है। आपको अपने पहले बूट से पहले इसे मैन्युअल रूप से डीकंप्रेस करना होगा।

लिनक्स पर ऐसा करने के लिए, उबंटू यूएसबी का बूट पार्टीशन खोलें और चलाएं

zcat vmlinuz > vmlinux

टर्मिनल से।

आप इसे विंडोज़ पर 7-ज़िप का उपयोग करके और vmlinuz फ़ाइल को निकालने के लिए कर सकते हैं। बस निकाली गई फ़ाइल का नाम बदलकर vmlinux करना सुनिश्चित करें।

चरण 6: Config.txt फ़ाइल को अपडेट करें

config.txt फ़ाइल में विभिन्न RaspberryPi बोर्डों के लिए स्टार्टअप विकल्प हैं। रास्पबेरी पाई 4 के लिए जानकारी अपडेट करें। [pi4] के लिए अनुभाग को निम्नलिखित से बदलें:

[pi4]max_framebuffers=2 dtoverlay=vc4-fkms-v3d boot_delay कर्नेल=vmlinux initramfs initrd.img followkernel

चरण 7: ऑटो-डिकंप्रेशन स्क्रिप्ट बनाएं

उबंटू या इसके कई पैकेजों में से एक के अपडेट के दौरान, उपयुक्त एक नई कर्नेल छवि बनाएगा। यह छवि संकुचित हो जाएगी, और अद्यतन के बाद रास्पबेरी पाई बूट नहीं होने का कारण बनेगी। इसे ठीक करने के लिए, अद्यतनों के बाद नई कर्नेल छवियों को डीकंप्रेस करने के लिए एक स्क्रिप्ट बनाने की आवश्यकता है।

बूट पार्टीशन में auto_decompress_kernel नामक एक स्क्रिप्ट बनाएं। यह अधिकांश पाठ संपादकों के साथ किया जा सकता है। लिनक्स में, मैं या तो नैनो या एटम की सिफारिश करूंगा, विंडोज में मैं एटम की सिफारिश करूंगा (नोट आपके लिए टेक्स्ट एडिट का उपयोग करने वाले विंडोज यूजर्स, "TXT" फाइल एक्सटेंशन को हटाना सुनिश्चित करें। यदि आप नहीं करते हैं, तो यह काम नहीं करेगा)। स्क्रिप्ट में निम्नलिखित कोड होना चाहिए:

#!/बिन/बैश -ई

#चर सेट करें BTPATH=/boot/फर्मवेयर CKPATH=$BTPATH/vmlinuz DKPATH=$BTPATH/vmlinux #जांचें कि संपीड़न करने की जरूरत है या नहीं। अगर [-ई $BTPATH/check.md5]; फिर अगर md5sum --status --ignore-missing -c $BTPATH/check.md5; फिर इको-ई "\e[32mFiles नहीं बदला है, डीकंप्रेसन की जरूरत नहीं है\e[0m" बाहर निकलें 0 और इको-ई "\e[31mHash विफल, कर्नेल संकुचित हो जाएगा\e[0m" fi #पुराने डीकंप्रेस्ड का बैकअप लें कर्नेल एमवी $DKPATH $DKPATH.bak अगर [! $? == 0]; फिर इको-ई "\e[31mDECOMPRESSED KERNEL BACKUP FAILED!\e[0m" exit 1 else echo -e "\e[32mDecompressed कर्नेल बैकअप सफल रहा\e[0m" fi #नए कर्नेल को डीकंप्रेस करें इको "डीकंप्रेसिंग कर्नेल:" $CKPATH"………….." zcat $CKPATH > $DKPATH अगर [! $? == 0]; फिर echo -e "\e[31mKERNEL decompress में विफल!\e[0m" बाहर निकलें 1 और echo -e "\e[32mKernel Decompressed सफलतापूर्वक\e[0m" fi #md5sum $CKPATH $DKPATH की जांच के लिए नए कर्नेल को हैश करें > $BTPATH/check.md5 अगर [! $? == 0]; फिर इको-ई "\e[31mMD5 जनरेशन फेल!\e[0m" और इको-ई "\e[32mMD5 सफलतापूर्वक जेनरेट हुआ\e[0m" fi #Exit exit 0

चरण 8: एक और स्क्रिप्ट बनाएं

हर बार पैकेज स्थापित होने पर कॉल करने के लिए हमने जो स्क्रिप्ट बनाई है, उसके लिए हमें एक और स्क्रिप्ट बनाने की आवश्यकता है।

इस स्क्रिप्ट को उबंटू फाइल सिस्टम के भीतर बनाने की जरूरत है। यदि आप यह सेटअप किसी linux सिस्टम पर कर रहे हैं, तो आप अपने पहले बूट से पहले इस भाग को निष्पादित कर सकते हैं, यदि आप Windows या MacOS पर हैं, तो आपको अपने पहले बूट के बाद ऐसा करने की आवश्यकता होगी।

इस स्क्रिप्ट को /etc/apt/apt.conf.d/ निर्देशिका में बनाएं, और इसे 999_decompress_rpi_kernel नाम दें

सुडो नैनो /etc/apt/apt.conf.d/999_decompress_rpi_kernel

कोड होना चाहिए:

DPkg::पोस्ट-इनवोक {"/bin/bash/boot/फर्मवेयर/auto_decompress_kernel"; };

एक बार यह बन जाने के बाद, आपको स्क्रिप्ट को निष्पादन योग्य बनाने की आवश्यकता होगी। यह निम्नलिखित कोड का उपयोग करके किया जा सकता है:

sudo chmod +x /etc/apt/apt.conf.d/999_decompress_rpi_kernel

चरण 9: रास्पबेरी पाई 4 पर उबंटू का आनंद लें

अब आप USB सक्षम ड्राइव पर Ubuntu को बूट कर सकते हैं।

सिफारिश की: