Como você pode escrever em um sistema de arquivos antes de inicializar usando o VirtualBox?

3

Estou lendo a documentação do TurnKey Linux 14 e afirma que, para fazer o preseed de valores para um appliance, é necessário escrevê-los no sistema de arquivos antes que a máquina seja inicializada pela primeira vez.

A maneira mais óbvia de fazer isso é poder inicializar a VM em um Live CD e montar o sistema de arquivos em questão para gravar o arquivo.

O VirtualBox contém outra maneira de fazer isso? Por exemplo, usando um utilitário bash de algum tipo para escrever um arquivo externo para o sistema de arquivos existente?

Acredito que havia uma maneira de realizar isso no VMWare usando o vSphere, e é por isso que estou perguntando.

    
por leeand00 14.11.2015 / 23:39

2 respostas

3

Você pode usar as ferramentas libguestfs para acessar sistemas de arquivos em uma imagem de máquina virtual.

mkdir ~/mnt
guestmount -a /path/to/vm-image.vdi -m /dev/sda1 ~/mnt
… edit files …
fusermount -u ~/mnt

O Libguestfs usa o QEMU, que pode usar o KVM. KVM e VirtualBox não podem ser usados ao mesmo tempo. Se você tiver o VirtualBox em execução, feche-o e certifique-se de que o módulo do kernel kvm esteja carregado ou organize-o para executar o QEMU sem o KVM. Você pode fazer com que o QEMU evite o KVM (mais lento, mas não de uma maneira que importe apenas montar o sistema de arquivos e editar alguns arquivos) configurando LIBGUESTFS_BACKEND_SETTINGS=force_tcg no ambiente.

    
por 15.11.2015 / 01:24
2

Se você estiver fazendo isso para criar uma VM TurnKey personalizada que possa ser redistribuída com valores pré-propagados, existe outra opção que provavelmente está um pouco menos envolvida (para alguns).

Inicialize sua VM, execute os primeiros scripts de inicialização manualmente, crie o arquivo pre-seeds como quiser. Em seguida, redefina o sinalizador RUN_FIRSTBOOT (em /etc/default/inithooks ) para que ele execute novamente os scripts de firstboot na próxima inicialização (firstboot de seu dispositivo virtual extraído).

    
por 28.11.2016 / 03:21