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 ----------------------------------------------------------------------
26 - Have a look at the 'build-supernested.sh.in' script for a variable
27 called $packages. You need to install all of those packages on the
31 https://github.com/libguestfs/supermin
32 Note: older versions of supermin will not work
36 - recent qemu and kernel
40 - getopt(1) utility (from util-linux)
42 - Only tested on Fedora, but it should work on other Linux distros
43 *provided* they have supermin 5 support. Patches to fix that are
47 Compiling the disk image
48 ----------------------------------------------------------------------
50 To build the disk image, do:
56 Assuming that works you will end up with 4 files:
58 - 'supernested-<VERSION>-<DISTRO>.qcow2'
65 - 'run-supernested.sh'
67 You need all 4 files for the next step.
70 Running the disk image
71 ----------------------------------------------------------------------
73 !NOTE FIRST! If nested KVM is broken, it can *frequently* cause your
74 host machine to crash, reboot, catch fire, etc. You need to run this
75 on baremetal, on a machine which is KVM-capable, a modern CPU, with
76 lots of free memory, and nothing much else running.
78 You need to have the kernel KVM module (eg. kvm_amd or kvm_intel)
79 loaded, with the nested=1 flag. The nested flag defaults to true for
80 AMD in recent kernels, but not for Intel. To force this, do:
82 mkdir -p /etc/modprobe.d
83 echo "options kvm_intel nested=1" > /etc/modprobe.d/kvm.conf
85 To see if nested is enabled, use:
87 cat /sys/modules/kvm_(intel|amd)/parameters/nested
89 /dev/kvm needs to be accessible. On some distros you may need to add
90 your user to a special 'kvm' group.
92 You *don't* need to run this command as root. Running it as root may
93 give different results. Consult a qemu/KVM expert.
95 Have a look at the 'run-supernested.sh' script. You may want to edit
96 things like the name of the qemu binary.