The guest img can be installed with: ./tools/img-install.sh isofile image-file When installing the root partition must be the first one and it can not be an LVM partition (must be standard partition). This could be fix by updating the img-setup.sh script to test all partition in the destination-image-file to find the root filesystem. The guest img can be installed with: ./tools/img-install.sh isofile image-file When installing the root partition must be the first one and it can not be an LVM partition (must be standard partition). This could be fix by updating the img-setup.sh script to test all partition in the image-file to find the root filesystem. You need following kernel option (built-in not modules) for the guest kernel: CONFIG_9P_FS=y CONFIG_9P_FS_POSIX_ACL=y CONFIG_9P_FS_SECURITY=y CONFIG_NET_9P=y CONFIG_NET_9P_VIRTIO=y CONFIG_VIRTIO_BLK=y CONFIG_VIRTIO_BLK_SCSI=y CONFIG_VIRTIO=y CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_PCI_LEGACY=y CONFIG_VIRTIO_MMIO=y CONFIG_VIRTIO_NET=y CONFIG_BLK_MQ_VIRTIO=y You need to install the kernel (if you rely on modules for your testing) by running the following script from the kernel source directory: ./tools/kernel-install.sh To run a test all you to do is: ./tools/img-run.sh image-file path-to-kernel path-to-test test-command-line For instant if you have your test program in ~/tmp/mytest and you pass toto as an argument to your test: ./tools/img-run.sh image-file path-to-kernel ~/tmp mytest toto The stdout and stderr will be log into tests/logs