Vmdk छवि के लिए EC2 AMI परिवर्तित करना


18

मैं VirtualBox के अंदर बूट करने के लिए Amazon Linux प्राप्त करने के लिए काफी करीब आ गया हूं, इस उत्तर और इन वेबसाइटों के लिए धन्यवाद । मेरे द्वारा उठाए गए चरणों का त्वरित अवलोकन:

  1. अमेज़ॅन लिनक्स 2011.09 64-बिट एएमआई के साथ ईसी 2 उदाहरण लॉन्च करें
  2. ddsshएक स्थानीय छवि फ़ाइल पर ईबीएस मात्रा की सामग्री ।
  3. छवि फ़ाइल को लूपबैक डिवाइस के रूप में माउंट करें और फिर स्थानीय माउंट बिंदु पर।
  4. एक नई खाली डिस्क छवि फ़ाइल बनाएँ, एक बूटलोडर के लिए एक ऑफसेट के साथ विभाजन, और एक ext4 फाइल सिस्टम बनाएँ।
  5. नई छवि के विभाजन को माउंट करें और EC2 छवि से सब कुछ कॉपी करें।
  6. ग्रब स्थापित करें (उबंटू के grub-legacy-ec2पैकेज का उपयोग करके, ग्रब 2 नहीं)।
  7. छवि फ़ाइल का उपयोग कर vmdk में कनवर्ट करें qemu-img
  8. Vmdk के साथ एक नया VirtualBox VM बनाएँ।

अब VM बूट, ग्रब लोड और कर्नेल पाया जाता है। लेकिन यह विफल हो जाता है जब यह रूट डिवाइस को माउंट करने की कोशिश करता है:

dracut Warning: No root device "block:/dev/xvda1" found

dracut Warning: Boot has failed. To debug this issue add "rdshell" to the kernel command line.


dracut Warning: Signal caught!

dracut Warning: Boot has failed. To debug this issue add "rdshell" to the kernel command line.
Kernel panic - not syncing: Attempted to kill init!
Pid: 1, comm: init Not tainted 2.6.35.14-107.1.39.amzn1.x86_64 #1

मैंने /boot/grub/menu.lstलेबल और यूयूआईडी द्वारा रूट डिवाइस को खोजने के लिए बदलने की कोशिश की है , लेकिन कुछ भी काम नहीं करता है। मुझे लगता है कि एक्सबॉक्स कर्नेल वर्चुअलबॉक्स के साथ संगत नहीं है।

इस सारे प्रयास के पीछे तर्क यह है कि एक वैगनआर बॉक्स बनाया जाए जो उत्पादन संवर्धन के जितना करीब हो सके, इसलिए स्थानीय स्तर पर इनका परीक्षण किया जा सकता है। मुझे पता है कि EC2 पर टेस्ट रन करना सस्ता है, लेकिन खराब कनेक्टिविटी अक्सर अनुभव को बर्बाद कर देती है। साथ ही प्रोडक्शन के माहौल के साथ वर्चुअल मशीन होना वास्तव में अच्छा होगा, ताकि सहकर्मियों को ऐप डेवलपमेंट के साथ उठने और चलने के लिए सब कुछ सूरज के नीचे स्थापित न करना पड़े।

अगर मैं एक अलग कर्नेल चलाने की कोशिश कर रहा था, तो मुझे अमेज़ॅन लिनक्स 2011.09 में जितना संभव हो उतना करीबी मिल सकता है?


आपके समान काम कर रहा था और अन्य लिंक पर समाधान पाया गया। आपके साथ भी साझा किया गया। यह परीक्षण किया और यह मेरे लिए काम किया ... blog.zorangagic.com/2015/03/…
प्रताप

जवाबों:


7

मैंने बहुत कोशिश की और मैं हार मान रहा था, लेकिन अंत में मैं सफल रहा!

मैं vmware के तहत पोर्ट किए गए अमेज़ॅन लिनक्स के साथ बूट करने में कामयाब रहा हूँ!

मैं लगभग एक नवजात हूं, लेकिन मैंने ऐसा किया, परीक्षण के घंटों के बाद, ओम्बंट 64- 10.04 डिस्ट्रो से लिया गया एक vmlinuz-2.6.32-38-जेनेरिक के साथ मूल अमेजन कर्नेल को प्रतिस्थापित किया

मुझे बस बहुत सी त्रुटियां मिलती हैं क्योंकि एएमआई के अंदर अमेजन कॉन्फ़िगरेशन एक आंतरिक पते में कुछ ढूंढ रहा है जो स्पष्ट रूप से नहीं मिलता है। यह / usr / bin / cloud-init है, मुझे लगता है।

लेकिन मैं अंदर प्रवेश कर सकता हूं, और ऐसा लगता है कि सब कुछ काम कर रहा है!

आपकी सहायता के लिए धन्यवाद!!

मैंने इस ब्लॉगपोस्ट को एएमआई से Vmware पर स्थानांतरित करने के लिए कदम से कदम निर्देश के साथ लिखा है ।

उम्मीद है की यह मदद करेगा!


BTW, रीड, मैं आपके द्वारा बताए गए बिंदु पर ठीक-ठीक आ गया (drakut बता रहा है "कोई रूट डिवाइस नहीं मिला" ... क्या आपने कोई और कदम बढ़ाया ??
Emanuele Preda

मैं मूल रूप से एक ही समाधान आपके पास आया था: उबंटू से गिरी की नकल करना। यह काम करता है, लेकिन उस बिंदु पर मुझे नहीं पता कि यह सिस्टम अमेजन लिनक्स एएमआई के समान कैसे काम करेगा।
रीड लॉ।

कृपया यहाँ मेरा उत्तर भी देखें , जो VirtualBox / VMWare VMDK को निर्यात करने के लिए 2 वैकल्पिक अद्यतन विधियाँ प्रदान करता है, साथ ही आपके नए बनाए गए VMDK को Vagrant के साथ उपयोग करने के निर्देश
कोड Bling

2

आधिकारिक कर्नेल अमेज़ॅन ने अपने 2011.09 वितरण यानी 2.6.35.14 में उनकी व्युत्पत्ति की।

आप शायद अमेज़ॅन के लिए एक के साथ स्रोत पैकेज प्राप्त कर सकते हैं get_reference_source, लेकिन मुझे उम्मीद नहीं होगी कि यह अमेज़ॅन के बाहर काम करेगा।


1

Cloudify पर लोगों ने साझा किया है कि वे नंगे धातु मशीनों तक पहुंच के बिना VirtualBox तैयार वैग्रेंट बॉक्स कैसे बनाते हैं - वे AWS का उपयोग करते हैं।

स्वर्ग के 9 चरण:

  • पैकर का उपयोग करके एक स्रोत चित्र (AMI) [...] बनाएँ।
  • स्नैपशॉट या स्रोत छवि के साथ AWS में एक कार्यकर्ता उदाहरण लॉन्च करें।
  • कार्यकर्ता छवि पर: एक फ़ाइल के रूप में एक कच्ची छवि मात्रा बनाएं और उस पर एक ext4 विभाजन बनाएं।
  • स्रोत छवि डिस्क से पहले बनाए गए ext4 विभाजन में डेटा पर कॉपी करें।
  • Ext4 विभाजन पर बूटलोडर (एक्सक्लिनक्स) स्थापित करें।
  • कच्ची छवि को वीएमडीके में परिवर्तित करें।
  • VMDK को OVF डिस्क्रिप्टर और Vagrant मेटाडेटा का उपयोग करके बंडल करें और सामग्री और .box एक्सटेंशन के साथ एक टार फ़ाइल बनाएँ।
  • S3 [या आपको जो भी पसंद हो] अपलोड करें।
  • साफ - सफाई।

स्रोत : ऊपर 9 चरणों के साथ http://www.developer.com/design/creating-a-reproducible-and-portable-development-environment.html पर ब्लॉग पोस्ट

कोड : https://github.com/cloudify-cosmo/cloudify-packager/tree/3.2m4/imad-- बिल्डर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.