Me he acercado bastante a lograr que Amazon Linux se inicie dentro de VirtualBox, gracias a esta respuesta y a estos sitios web . Una descripción rápida de los pasos que he tomado:
- Inicie la instancia EC2 con Amazon Linux 2011.09 AMI de 64 bits
dd
el contenido del volumen EBSssh
a un archivo de imagen local.- Monte el archivo de imagen como un dispositivo de bucle invertido y luego en un punto de montaje local.
- Cree un nuevo archivo de imagen de disco vacío, particione con un desplazamiento para un gestor de arranque y cree un sistema de archivos ext4.
- Monte la partición de la nueva imagen y copie todo de la imagen EC2.
- Instale grub (usando el
grub-legacy-ec2
paquete de Ubuntu , no grub2). - Convierta el archivo de imagen a vmdk usando
qemu-img
. - Cree una nueva VM VirtualBox con el vmdk.
Ahora la VM arranca, se carga grub y se encuentra el kernel. Pero falla cuando intenta montar el dispositivo raíz:
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
He intentado cambiar /boot/grub/menu.lst
para encontrar el dispositivo raíz por etiqueta y UUID, pero nada funciona. Supongo que el kernel xen no es compatible con VirtualBox.
El razonamiento detrás de todo este esfuerzo es hacer una caja Vagrant que sea lo más cercana posible al entorno de producción, para que las implementaciones puedan probarse localmente. Sé que es barato hacer pruebas en EC2, pero la conectividad deficiente a menudo arruina la experiencia. Además, sería realmente bueno tener una máquina virtual con el entorno de producción para que los compañeros de trabajo no tengan que instalar todo bajo el sol solo para comenzar a trabajar con el desarrollo de aplicaciones.
Si intentara ejecutar un kernel diferente, ¿qué kernel podría obtener para estar lo más cerca posible de Amazon Linux 2011.09?
fuente
Respuestas:
Lo intenté mucho y me estaba rindiendo, ¡pero al final tuve éxito!
¡He logrado arrancar con una AMI de Amazon Linux portada bajo vmware!
Soy casi un novato, pero lo hice, después de horas de pruebas, sustituyendo el núcleo original de amazon con un vmlinuz-2.6.32-38-generic tomado de una distribución ubuntu 64 10.04.
Solo recibo muchos errores porque la configuración de Amazon dentro de la AMI está buscando algo en una dirección interna que obviamente no encuentra. Es el / usr / bin / cloud-init, creo.
Pero puedo iniciar sesión dentro, ¡y parece que todo está funcionando!
¡¡Gracias por tu ayuda!!
He escrito esta publicación de blog con instrucciones paso a paso para migrar de AMI a Vmware.
¡Espero que esto ayude!
fuente
El núcleo oficial de Amazon derivó el suyo en su distribución 2011.09, es decir , 2.6.35.14.
Probablemente pueda obtener el paquete fuente para Amazon
get_reference_source
, pero no esperaría que funcione fuera de Amazon de todos modos.fuente
Las personas en Cloudify han compartido cómo crean una caja Vagrant lista para VirtualBox, sin acceso a máquinas de metal desnudo: usan AWS.
9 pasos al cielo:
fuente