KVM com diretório rootfs

2

Atualmente, estou trabalhando em um projeto de sistema embarcado e minha máquina de desenvolvimento de testes é atualmente uma VM em execução no KVM. É possível ter o KVM montado em um diretório (como um chroot) e usá-lo como o sistema de arquivos raiz para a VM?

Eu atualmente tenho o sistema de arquivos raiz em um único arquivo esparso, e posso montá-lo via loop em um diretório, mas ao fazer e testar mudanças seria muito mais fácil ter o root fs em uma estrutura de diretório em minha máquina local .

    
por tMC 16.05.2011 / 22:12

1 resposta

2

Se sua máquina virtual tiver conectividade IP, monte seu sistema de arquivos raiz através do NFS. (Você precisará ter o driver cliente NFS e suas dependências no kernel ou initrd / initramfs.)

No host, instale um servidor NFS e exporte o diretório declarando-o em /etc/exports .

/path/to/root 10.0.9.0/24(ro,async,no_subtree_check)

No convidado, leia nfsroot.txt na documentação do kernel; Em suma, a linha de comando do kernel deve conter algo como

root=/dev/nfs nfsroot=10.0.9.1:/path/to/root

Se compartilhar a árvore de diretórios durante o tempo de execução da VM não for um requisito absoluto, e tudo que você está procurando é regenerar convenientemente seu sistema de arquivos raiz antes de inicializar a VM, seria simples escrever um pequeno script ou makefile que recria a imagem do sistema de arquivos raiz antes de inicializar. Isso é bastante comum no desenvolvimento incorporado. Uma escolha conveniente do sistema de arquivos raiz é initramfs , uma variante de initrd . Veja também Como gerar imagem initramfs com links busybox? .

    
por 16.05.2011 / 22:54

Tags