Bu cevap ve bu web siteleri sayesinde Amazon Linux'un VirtualBox içinde önyükleme yapmasına oldukça yaklaştım . Attığım adımlara hızlı bir genel bakış:
- Amazon Linux 2011.09 64 bit AMI ile EC2 örneğini başlatın
dd
EBS biriminin içeriğissh
yerel bir görüntü dosyasına aktarılır.- Görüntü dosyasını geri döngü aygıtı olarak ve sonra yerel bağlama noktasına bağlayın.
- Yeni bir boş disk görüntü dosyası oluşturun, bir önyükleyici için bir ofset ile bölümleyin ve bir ext4 dosya sistemi oluşturun.
- Yeni görüntünün bölümünü takın ve her şeyi EC2 görüntüsünden kopyalayın.
grub-legacy-ec2
Grub'u yükleyin ( grub2 yerine Ubuntu paketini kullanarak ).- Kullanarak görüntü dosyasını vmdk'ye dönüştürün
qemu-img
. - Vmdk ile yeni bir VirtualBox VM oluşturun.
Şimdi VM önyükleme yapıyor, yükleri topluyor ve çekirdek bulunuyor. Ancak kök aygıtı bağlamaya çalıştığında başarısız olur:
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
Etiket ve UUID ile kök cihazı bulmak için değiştirmeyi denedim , ama hiçbir şey işe yaramıyor. Ben xen çekirdeği VirtualBox ile uyumlu olmadığını tahmin ediyorum.
Tüm bu çabaların ardında yatan neden, üretim ortamına mümkün olduğunca yakın bir Vagrant kutusu yapmaktır, böylece dağıtımlar yerel olarak test edilebilir. EC2'de test çalışmaları yapmanın ucuz olduğunu biliyorum, ancak zayıf bağlantı genellikle deneyimi bozuyor. Ayrıca, üretim ortamına sahip bir sanal makineye sahip olmak gerçekten güzel olurdu, böylece iş arkadaşları sadece uygulama geliştirme ile çalışmaya başlamak için güneşin altındaki her şeyi kurmak zorunda kalmazlar.
Farklı bir çekirdek çalıştırmayı deneseydim, Amazon Linux 2011.09'a ne kadar yakın olabilirim?