Cheguei bem perto de inicializar o Amazon Linux no VirtualBox, graças a esta resposta e a esses sites . Uma rápida visão geral das etapas que eu segui:
- Iniciar instância do EC2 com o Amazon Linux 2011.09 AMI de 64 bits
dd
o conteúdo do volume EBSssh
para um arquivo de imagem local.- Monte o arquivo de imagem como um dispositivo de loopback e, em seguida, em um ponto de montagem local.
- Crie um novo arquivo de imagem de disco vazio, particione com um deslocamento para um carregador de inicialização e crie um sistema de arquivos ext4.
- Monte a partição da nova imagem e copie tudo da imagem do EC2.
- Instale o grub (usando o
grub-legacy-ec2
pacote do Ubuntu , não o grub2). - Converta o arquivo de imagem em vmdk usando
qemu-img
. - Crie uma nova VM do VirtualBox com o vmdk.
Agora a VM é inicializada, o grub é carregado e o kernel é encontrado. Mas falha ao tentar montar o dispositivo raiz:
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
Eu tentei mudar /boot/grub/menu.lst
para encontrar o dispositivo raiz por rótulo e UUID, mas nada funciona. Acho que o kernel xen não é compatível com o VirtualBox.
O raciocínio por trás de todo esse esforço é criar uma caixa do Vagrant o mais próximo possível do ambiente de produção, para que as implantações possam ser testadas localmente. Sei que é barato fazer testes no EC2, mas a falta de conectividade costuma arruinar a experiência. Além disso, seria muito bom ter uma máquina virtual com o ambiente de produção, para que os colegas de trabalho não precisem instalar tudo sob o sol apenas para começar a trabalhar com o desenvolvimento de aplicativos.
Se eu tentasse executar um kernel diferente, que kernel poderia ficar o mais próximo possível do Amazon Linux 2011.09?