KVM con directory rootfs

Actualmente estoy trabajando en un layout de sistema integrado y mi máquina de desarrollo de testing actualmente es una VM que se ejecuta en KVM. ¿Es posible hacer que KVM monte un directory (como un chroot) y lo use como el sistema de files raíz para la máquina virtual?

Actualmente tengo el sistema de files raíz en un único file disperso, y puedo montarlo a través de un bucle en un directory, pero al realizar y probar cambios sería mucho más fácil tener el root fs en una estructura de directorys en mi máquina local.

Si su máquina virtual tiene conectividad IP, monte su sistema de files raíz sobre NFS. (Necesitará tener el controller de cliente NFS y sus dependencies en el kernel o initrd / initramfs).

En el host, instale un server NFS y exporte el directory declarando en /etc/exports .

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

En el invitado, lea nfsroot.txt en la documentation del kernel; En pocas palabras, la command-line del kernel debería contener algo así como

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

Si compartir el tree de directorys durante el time de ejecución de la VM no es un requisito absoluto, y todo lo que busca es regenerar convenientemente su sistema de files raíz antes de arrancar la máquina virtual, entonces sería bastante simple escribir un pequeño script o file MAKE que reconstruya el Rootear la image del sistema de files antes de arrancar. Esto es bastante común en el desarrollo integrado. Una opción conveniente para el sistema de files raíz es initramfs , una variante de initrd . Consulte también ¿Cómo generar imágenes de initramfs con enlaces de busybox? .