Sono arrivato abbastanza vicino a far avviare Amazon Linux all'interno di VirtualBox, grazie a questa risposta e a questi siti Web . Una rapida panoramica dei passaggi che ho seguito:
- Avviare l'istanza EC2 con Amazon Linux 2011.09 AMI a 64 bit
dd
il contenuto del volume EBS sussh
un file di immagine locale.- Montare il file di immagine come dispositivo di loopback e quindi su un punto di montaggio locale.
- Crea un nuovo file di immagine del disco vuoto, partiziona con un offset per un bootloader e crea un filesystem ext4.
- Montare la partizione della nuova immagine e copiare tutto dall'immagine EC2.
- Installa grub (usando il
grub-legacy-ec2
pacchetto Ubuntu , non grub2). - Converti il file immagine in vmdk usando
qemu-img
. - Crea una nuova VM VirtualBox con vmdk.
Ora la VM si avvia, grub si carica e il kernel viene trovato. Ma non riesce quando tenta di montare il dispositivo root:
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
Ho provato a cambiare /boot/grub/menu.lst
per trovare il dispositivo radice per etichetta e UUID, ma non funziona nulla. Immagino che il kernel xen non sia compatibile con VirtualBox.
Il ragionamento alla base di tutto questo sforzo è quello di realizzare un box Vagrant il più vicino possibile all'ambiente di produzione, in modo che gli schieramenti possano essere testati localmente. So che è economico eseguire test su EC2, ma una scarsa connettività spesso rovina l'esperienza. Inoltre sarebbe davvero bello avere una macchina virtuale con l'ambiente di produzione in modo che i colleghi non debbano installare tutto sotto il sole solo per iniziare a lavorare con lo sviluppo di app.
Se dovessi provare a eseguire un altro kernel, quale kernel potrei essere il più vicino possibile ad Amazon Linux 2011.09?