1 Supernested is a test of nested KVM. It is able to run KVM, nested to
2 any depth, limited only by available memory, bugs in KVM, and your
7 ----------------------------------------------------------------------
9 By Richard W.M. Jones <rjones@redhat.com>
11 Bugs, feedback etc: http://www.redhat.com/mailman/listinfo/virt-tools-list
13 (Note: Bugs in KVM or the kernel should be reported to the qemu-devel
14 or Linux kernel mailing lists respectively)
18 ----------------------------------------------------------------------
20 Gnu General Public License, version 2 or above. See 'COPYING'.
24 ----------------------------------------------------------------------
27 https://github.com/libguestfs/supermin
28 Note: older versions of supermin will not work
32 - recent qemu and kernel
36 - getopt(1) utility (from util-linux)
38 - Only tested on Fedora, but it should work on other Linux distros
39 *provided* they have supermin 5 support. Patches to fix that are
43 Compiling the disk image
44 ----------------------------------------------------------------------
46 To build the disk image, do:
51 Assuming that works you will end up with 4 files:
53 - 'supernested-<VERSION>-<DISTRO>.qcow2'
60 - 'run-supernested.sh'
62 You need all 4 files for the next step.
65 Running the disk image
66 ----------------------------------------------------------------------
68 !NOTE FIRST! If nested KVM is broken, it can *frequently* cause your
69 host machine to crash, reboot, catch fire, etc. You need to run this
70 on baremetal, on a machine which is KVM-capable, a modern CPU, with
71 lots of free memory, and nothing much else running.
73 You need to have the kernel KVM module (eg. kvm_amd or kvm_intel)
74 loaded, with the nested flag set. The nested flag defaults to true in
75 recent kernels. /dev/kvm needs to be accessible. On some distros
76 you may need to add your user to a special 'kvm' group.
78 You *don't* need to run this command as root. Running it as root may
79 give different results. Consult a qemu/KVM expert.
81 Have a look at the 'run-supernested.sh' script. You may want to edit
82 things like the name of the qemu binary.