Esta questão está fadada a ser fechada, pois é muito ampla. Mas quero compartilhar algumas informações úteis que podem ser úteis para futuras referências. Você pode usar a imagem da Amazon AMI que você criou originalmente (de preferência uma imagem do Fedora) no virtualbox
.
Etapas
NOTA: você terá que fazer tudo isso com privilégios de root.
Crie um novo arquivo de unidade bruta
Este é de ~ 10 shows:
dd if=/dev/zero of=newimage.raw bs=1M count=10240
Particione-o
Primeiro, adicione-o a um dispositivo de loopback:
losetup -fv newimage.raw
Loop device is /dev/loop0
Em seguida, particione-o (isso faz uma partição para todo o disco). Certifique-se de que é inicializável. Os padrões estão bem.
cfdisk /dev/loop0
Nota: você precisa realmente selecionar Escrever e apertar enter para que isso funcione ou você vai sair sem realmente particioná-lo, o que eu faço todas as vezes.
Crie um sistema de arquivos
Você não pode usar o mkfs porque ele estraga sua determinação automática de tamanhos do sistema de arquivos em dispositivos de loopback. Em vez disso, localize o início, o final e o número de blocos da partição, o número de cilindros e o tamanho do bloco:
fdisk -l -u /dev/loop0
Disk /dev/loop0: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/loop0p1 * 63 20964824 10482381 83 Linux
Calcule o começo da partição x blocksize. Neste caso (na maioria, na verdade), é 512 * 63 (tamanho setorial * setor inicial): 32256. Configure um novo dispositivo de loopback para esta partição, especificando um deslocamento:
losetup -fv -o 32256 newimage.raw
Loop device is /dev/loop1
Você vai criar um sistema de arquivos agora com algum tamanho de bloco (provavelmente 4096, que é padrão e o que eu uso) e um número de blocos com o qual você computa: ((fim-de-início) * unidades) / blocksize ou ((20964824 - 63) * 512) / 4096, no nosso caso.
Para criar o sistema de arquivos em nossa nova partição:
mkfs.ext3 -b 4096 /dev/loop1 2620595
Copie e prepare o novo sistema de arquivos
Primeiro, configure a imagem .raw também como um dispositivo de loopback:
losetup -fv genprog-raw-image.raw
Loop device is /dev/loop2
Monte:
mkdir /mnt/tmp_1
mount -t ext3 /dev/loop2 /mnt/tmp_1
Faça o mesmo com sua nova imagem:
mkdir -p /mnt/loop/1
mount -t ext3 /dev/loop1 /mnt/loop/1
cp -a /mnt/tmp_1/* /mnt/loop/1/
As instruções do site que eu peguei tudo isso sugere que você precisa copiar os módulos de inicialização para obter as informações do initrd e do kernel, mas, por algum motivo, não acho que precisei fazer isso.
Várias modificações antes de adicionar um gerenciador de inicialização
Edite menu.lst e certifique-se de que o root = esteja definido como / dev / sda1: (a raiz = substring é muito aleatoriamente localizada)
vi /mnt/loop/1/boot/grub/menu.lst
Edite fstab para o mesmo propósito (substitua / dev / xfvg por / dev / sda1):
vi /mnt/loop1/etc/fstab
A Amazon define uma senha de raiz aleatória, o que não funciona. Em vez disso:
chroot /mnt/loop/1
mv /etc/rc.local /etc/rc.local-old
passwd root
exit
Configure o Grub na nova unidade
Desmonte e exclua o dispositivo de loopback com a partição (aquela com o deslocamento) para que o Grub funcione sem reclamar:
umount /mnt/loop/1
losetup -d /mnt/loop1
Volte para as informações do fdisk, acima (> fdisk -l -u / dev / loop0) e obtenha o número de cilindros, cabeças e setores / trilhas. Então faça:
grub --device-map=/dev/null
Você vai entrar em uma coisa interativa do Grub.
grub> device (hd0) newimage.raw
grub> geometry (hd0) 1305 255 63
grub> root (hd0,0)
grub> setup (hd0)
You'll get a lot of output, then:
Done.
grub> quit
Desmonte as unidades montadas e exclua todos os seus dispositivos de loopback. Notas: desmontar uma desmontagem. Por que não há n além de mim. Além disso, o losetup -a lista todos os dispositivos de loopback ativos.
losetup -d /dev/loop0
losetup -d /dev/loop1
losetup -d /dev/loop2
Faça o VirtualBox funcionar bem
Ainda é um .raw, sim? Converter:
VBoxManage convertdd newimage.raw newimage.vdi
(acho que convertfromraw funciona também b / c convertdd é para compatibilidade com versões anteriores.)
Use o newimage.vdi para criar uma nova máquina VirtualBox. Faça o material padrão, mas abra as configurações, selecione Sistema - > Processador e defina a caixa de seleção ao lado de Ativar PAE / NX.
Edite o / etc / ssh / sshd_config e mude a parte que diz "PasswordAuthentication" ou o que for de não para sim.
Desligue a vm. De volta à linha de comando, para ativar o sshing em:
VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"
Isso encaminhará solicitações para a porta 2222 da máquina host para a porta 22 da máquina convidada (em que a escuta ssh ocorre por padrão). Para ssh in, faça:
ssh -p 2222 root@localhost
Feito!
REFERÊNCIAS