पूर्व-तैयार एसडी कार्ड छवि बनाना


19

एक ऐसी परियोजना के लिए, जिस पर मैं काम कर रहा हूं, मैं रास्पियन पर आधारित एक "स्टॉक" छवि बनाना चाहता हूं जिसे मैं कई पीएस पर स्थापित कर सकता हूं।

आदर्श रूप से मैं अपने कंप्यूटर पर (मेरे कंप्यूटर पर) रास्पियन छवि ले सकता हूं, कुछ संकुल प्राप्त कर सकता हूं, कुछ कॉन्फिग को संपादित कर सकता हूं और फिर उस से एसडी कार्ड छवि बना सकता हूं।

क्या ऐसा करने का एक सरल या अनुशंसित तरीका है? मैं सामना कर सकते हैं किसी भी नुकसान?

मैं मैन्युअल रूप से एक पी के साथ छेड़छाड़ से बचने और फिर उस छवि को क्लोन करने के लिए उत्सुक हूं। संभवत: रास्पियन किसी तरह से बना है जो किसी ने मैन्युअल रूप से एक पाई पर बटन क्लिक नहीं किया है। मैं इसे इस तरह से करना चाहूंगा, अगर मैं कर सकता हूं।

आदर्श रूप से मैं कुछ ऐसा बनाना चाहता हूं जो एक निरंतर एकीकरण सर्वर पर स्वचालित रूप से बनाया जा सके - मैं एक निर्माण प्रक्रिया नहीं चाहता हूं जिसमें "एक एसडी कार्ड लिखना, एक पाई में डालना" शामिल है क्योंकि मैं बिना किसी चित्र के निर्माण के लिए एक बनना चाहता हूं रास्पबेरी पाई के लिए भौतिक पहुँच।


3
काम आ सकता है : मैं रास्पबेरी पाई लिनक्स डिस्ट्रो छवि कैसे माउंट कर सकता हूं? - स्वीकार किए गए उत्तर में जोर देने वाली रेखा पर ध्यान दें, "यदि आप कुछ भी बदलते हैं, तो उन परिवर्तनों को .img फ़ाइल में शामिल किया जाएगा।" दुर्भाग्य से, यह आवेदन करने का अवसर प्रदान नहीं करता है apt-get; ऐसा करने का सबसे आसान तरीका एक VM का उपयोग करना होगा और rsyncएक आरोहित छवि के समान होगा जो VM को प्रारंभ करने के लिए उपयोग किया जाता है (क्योंकि VM छवियां स्वयं इसके लिए अच्छी नहीं हैं) लेकिन मुझे लगता है कि यहाँ केवल VM विकल्प QEMU है, जो AFAICT एक PITA है।
गोल्डीलॉक्स

एक और तरीका नेट-बूटिंग होगा।
lexu

Win32DiskImager के पास एक रीड फंक्शन है, क्या आपने कोशिश की है?
कांग चुन हो

जवाबों:


6

रास्पबेरी पाई फाउंडेशन अपनी छवियों को उत्पन्न करने के लिए QEMU को स्वचालित करते हुए बैश स्क्रिप्ट का एक सेट का उपयोग करता है। आपको अभी भी "उद्योग मानकों" बिल्डरोट और योक्टो पर ध्यान देना चाहिए।

https://github.com/RPi-Distro/pi-gen

http://cellux.github.io/articles/diy-linux-with-buildroot-part-1/


अगर ओपी एक उद्योग मानक रिलीज छवि बनाने के लिए देख रहा है .. हाँ जाने के लिए रास्ता है, लेकिन यह एक बड़े पैमाने पर सीखने की अवस्था है और मैं उस मार्ग के नीचे कोई शौक नहीं चाहता।
पियोट कुला

1
यह लग रहा है कि मैं क्या देख रहा हूँ! क्या इसका उपयोग करने के बारे में कोई गाइड हैं? build.sh लगता है कि पर्यावरण चर का एक समूह सेट कर रहे हैं।
एंडी स्मिथ

संभवतः TODO के तहत # 4 द्वारा कवर किया गया है ;) कुछ महीनों में छुआ नहीं गया है, इसलिए या तो इसमें शामिल लोग अन्य चीजों में व्यस्त हैं या इसमें रुचि खो चुके हैं।
गोल्डीलॉक्स

@goldilocks ऐसा इसलिए नहीं है, जहाँ आधार रसियन इमेज आती है?
एंडी स्मिथ

3
मैं ईमानदार रहूंगा और कहूंगा कि मेरी धारणा यह है कि आप एक XY समस्या के Y पक्ष को बहुत अधिक दृढ़ता के साथ आगे बढ़ा रहे हैं - यह निहित है कि आपको लगता है कि सरल विधि (बस एक pi पर एक छवि सेट करें, जिसे एक से किया जा सकता है दूरस्थ लॉगिन के माध्यम से कंप्यूटर, और छवि को स्वयं बढ़ते हुए घुमाया जाता है, जो एक पीसी पर किया जा सकता है, और यह सब स्क्रिप्टिंग के साथ स्वचालित किया जा सकता है) बहुत अधिक परेशानी है, और इसलिए आपने अपनी उम्मीदों को एक विधि में रखा है जो वास्तव में बहुत अधिक है अधिक परेशानी
गोल्डीलॉक्स

5

मेरी परियोजना नारद एसडीके में कई विशेषताएं हैं जो आप चाहते हैं। यह रास्पियन नहीं है, लेकिन इसमें रास्पियन बाइनरी इम्यूलेशन है और इस प्रकार यह बहुत करीब है। नारद के साथ आप एक पीसी पर सब कुछ बनाते हैं और प्रक्रिया बहुत तेज और प्रतिलिपि प्रस्तुत करने योग्य है। सब कुछ स्क्रिप्ट करने योग्य है और उदाहरण के लिए एक रात निरंतर एकीकरण द्वारा किया जा सकता है।
http://www.arbetsmyra.dyndns.org/nard/


0

मेरी राय में , आपके द्वारा सुझाए गए तरीके से इसे करना (बढ़ते हुए, अपडेट करने और कॉन्फ़िगर करने के लिए वर्कआर्डर करना, आदि) वास्तविक समाधानों की तुलना में अधिक चुनौतियां प्रस्तुत करता है । निश्चित रूप से, यदि आप रुचि रखते हैं, तो इसे अपने तरीके से करना मजेदार हो सकता है, लेकिन सबसे अच्छा और आसान तरीका वह हो सकता है जिससे आप बच रहे हैं।

मैं आपको एक पाई प्राप्त करने की सलाह देता हूं और उस पर आपको क्या करना है, इसके एसडी कार्ड की छवि बनाएं। फिर, उस छवि का उपयोग अपने अन्य पीएस पर करें क्योंकि वह छवि पहले से ही कॉन्फ़िगर है।

नोट: मुझे लगता है कि आप रास्पियन का उपयोग करेंगे। मैं यह भी मानूंगा कि आप सिर्फ एक औसत व्यक्ति हैं, न कि कुछ व्यक्ति जो लगातार आधार पर चित्र तैयार करते हैं (जैसे रास्पबेरी पाई फाउंडेशन)।


कदम अगर आप ऐसा अपने पाई के साथ टिंकर:

  1. अपनी पसंद की ताज़ा OS छवि डाउनलोड और इंस्टॉल करें
  2. ईथरनेट केबल में प्लग करें / वाईफाई से कनेक्ट करें
    • यदि आप अपने Pi के IP ऐडरेस को नहीं जानते हैं तो संभवतः LAN स्कैन करें
  3. सामान एसएसएच के माध्यम से करो
    • apt-get update -y && apt-get upgrade पैकेज अद्यतन करने के लिए
    • आपकी व्यक्तिगत कॉन्फ़िगरेशन की आवश्यकता है
  4. एक छवि बनाएं, फिर उस छवि को अन्य पेस्ट के लिए उपयोग करें।

यदि आप अपने पाई के साथ छेड़छाड़ नहीं करते हैं (ऊपर नोट देखें):

  1. ताज़ा OS चित्र डाउनलोड करें
  2. Https://raspberrypi.stackexchange.com/a/13138/24224 से निर्देशों का उपयोग करके माउंट छवि (आपको यह भी विचार करना होगा कि आपके पास क्या ओएस / छवि है क्योंकि कुछ अलग FS लेआउट हैं)
    • एक कैलकुलेटर तैयार है।
  3. प्रत्येक पैकेज केdeb लिए फ़ाइल खोजेंआपके द्वारा अपडेट किए जाने वाले , और उनकी निर्भरताएं , साथ ही उन निर्भरताओं की निर्भरताएं , और उन निर्भरताओं की निर्भरताओं की निर्भरता भीapt-offlineएक परेशानी है। इस लिंक का संदर्भ लें
    • फिर अपने पाई के साथ उपयोग / छेड़छाड़ किए बिना उन सभी पैकेजों को स्थापित करने का एक तरीका ढूंढें। apt-getऑफ़लाइन काम नहीं करेगा। deb फ़ाइल विवरण यहाँ । सौभाग्य।
  4. Hexxeh के उपकरण का उपयोग करके पाई कर्नेल और निम्न-स्तरीय सामान को अपडेट करें
  5. अपनी आवश्यकताओं के लिए कॉन्फ़िगर करें
  6. अपने पीएस के एसडी कार्ड में संशोधित छवि लिखें।

मैं अपने पाई के साथ छेड़छाड़ नहीं करने में कोई लाभ नहीं देखता।

अपने आप को अपने पाई के साथ कुछ सुस्त और टिंकर काटें। आपको इसे केवल एक बार करना है।


मैन्युअल रूप से, निर्भरताएँ, और वहाँ निर्भरताएँ, इत्यादि प्राप्त करके प्रोग्रामों को प्राप्त करने के लिए इसके लगभग लागू होने योग्य हैं, लेकिन अगर आप apt-get का उपयोग करते हैं और कहते हैं कि आप VLC चाहते हैं तो आप, apt-get install vlc --yes-print- यूआरआई। यह लिंक की एक सूची देगा; एक बार डाउनलोड करने के बाद, उन्हें / var / cache / apt / अभिलेखागार / आंशिक और dpkg -i आंशिक / * रन करने के लिए डालें। इससे भी बेहतर, अगर आपको सिनैप्टिक्स मिले, तो इसमें पैकेज डाउनलोड स्क्रिप्ट उत्पन्न करने का विकल्प है। लिनक्स स्क्रिप्ट पर उस स्क्रिप्ट को चलाएं और आपको अपने पैकेज मिल गए। फिर आप उन्हें फिर से सिनैप्टिक्स के साथ स्थापित कर सकते हैं।
शून्य

@ पूराThen find a way to install all of those packages without using/tinkering with your Pi.
PNDA

@ पूरी जानकारी के अनुसार, आप केवल dpkgसिस्टम पर ही उपयोग कर सकते हैं , माउंटेड इमेज पर नहीं। इसके अलावा, ओपी अपने पीसी का उपयोग करने की योजना बना रहा है, इसलिए *.debआपके पास जो फाइलें हैं, वे पहले स्थान पर एक गलत आर्किटेक्चर के लिए हैं (पीसी x86 / x64 है, Pi ARMv6 / v7 है)
PNDA

जैसा कि मैंने अपने प्रश्न में निर्दिष्ट किया है, मैं ऐसा नहीं करना चाहता हूं। 2 के रूप में, यह पागल लगता है :)। आपको क्या लगता है कि @flakeshakes सुझाव 2 से कोई अधिक कठिन है?
एंडी स्मिथ

@AndySmith मैं गोल्डिलॉक की टिप्पणी उद्धृत करूंगा:I'll be honest and say that my impression is you are pursuing the Y side of an XY problem with too much vigour -- it's implied you think the simpler method (just set up an image on a pi, which can be done from a computer via remote login, and the image itself tweaked by mounting, which can be done on a PC, and all of this can be automated with scripting) is too much hassle, and so you have put your hopes in a method that is actually much more hassle.
PNDA

0

मुझे लगता है कि आप जिस चीज की तलाश कर रहे हैं वह किसी प्रकार की है (software) configuration management। इसके साथ आप एक स्टॉक रास्पियन छवि को बूट करने में सक्षम होंगे और फिर अपने स्वयं के कॉन्फ़िगरेशन (नए पैकेज और इसी तरह) पर पुश करेंगे। वहाँ SCM सिस्टम के बहुत सारे हैं। नकारात्मक पक्ष यह है कि इनमें से अधिकांश प्रणालियां बड़े पैमाने पर नेटवर्क का समर्थन करने के लिए लक्षित हैं और इसलिए आपके उद्देश्य के लिए शायद कुछ अधिक ओवरकिल हैं। आपको किसी प्रकार के प्रोविज़निंग सर्वर की भी आवश्यकता है। सबसे लोकप्रिय SCM के कठपुतली , बावर्ची , Ansible प्रतीत होते हैं । लेख आपको आरंभ करने के लिए:

यह एक सामान्य जवाब है लेकिन SCM एक विस्तृत क्षेत्र है। शायद यह आपकी योजनाओं के आधार पर खुदाई करने लायक है।


क्योंकि यह एजेंट रहित है, और आपको इसे चलाने के लिए पूर्ण विकसित सर्वर की आवश्यकता नहीं है, ऐसा लगता है
दूनी

1
वास्तव में नहीं, मैं चाहता हूं कि छवि पहले से ही निर्मित हो, न कि कुछ ऐसी चीज जिससे मैं भरता हूं। यदि मेरा पाई में नेटवर्क कनेक्शन नहीं है तो यह सुझाव काम नहीं करता है।
एंडी स्मिथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.