मैं VirtualBox के अंदर बूट करने के लिए Amazon Linux प्राप्त करने के लिए काफी करीब आ गया हूं, इस उत्तर और इन वेबसाइटों के लिए धन्यवाद । मेरे द्वारा उठाए गए चरणों का त्वरित अवलोकन:
- अमेज़ॅन लिनक्स 2011.09 64-बिट एएमआई के साथ ईसी 2 उदाहरण लॉन्च करें
dd
ssh
एक स्थानीय छवि फ़ाइल पर ईबीएस मात्रा की सामग्री ।- छवि फ़ाइल को लूपबैक डिवाइस के रूप में माउंट करें और फिर स्थानीय माउंट बिंदु पर।
- एक नई खाली डिस्क छवि फ़ाइल बनाएँ, एक बूटलोडर के लिए एक ऑफसेट के साथ विभाजन, और एक ext4 फाइल सिस्टम बनाएँ।
- नई छवि के विभाजन को माउंट करें और EC2 छवि से सब कुछ कॉपी करें।
- ग्रब स्थापित करें (उबंटू के
grub-legacy-ec2
पैकेज का उपयोग करके, ग्रब 2 नहीं)। - छवि फ़ाइल का उपयोग कर vmdk में कनवर्ट करें
qemu-img
। - 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 में जितना संभव हो उतना करीबी मिल सकता है?