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?
fonte
Respostas:
Eu tentei muito e estava desistindo, mas no final eu consegui!
Eu consegui inicializar com uma Amazon Linux AMI portada em vmware!
Eu sou quase um novato, mas fiz isso, após horas de testes, substituindo o kernel original da amazon por um vmlinuz-2.6.32-38-generic retirado de uma distribuição do ubuntu 64 10.04.
Eu recebo muitos erros porque a configuração amazon dentro da AMI está procurando algo em um endereço interno que obviamente não encontra. É o / usr / bin / cloud-init, eu acho.
Mas consigo entrar lá, e parece que tudo está funcionando!
Obrigado pela ajuda!!
Eu escrevi este post no blog com instruções passo a passo para migrar da AMI para o VMware.
Espero que isto ajude!
fonte
O kernel oficial Amazon derivou deles na distribuição 2011.09 , ou seja , 2.6.35.14.
Provavelmente você pode obter o pacote de origem do Amazon
get_reference_source
, mas eu não esperaria que ele funcionasse fora do Amazon.fonte
As pessoas do Cloudify compartilharam como criam uma caixa Vagrant pronta para o VirtualBox, sem acesso a máquinas bare metal - elas usam a AWS.
9 passos para o céu:
fonte