KVM --- Clone the repo: $ git clone git://git.kernel.org/pub/scm/virt/kvm/kvm.git To test out of tree patches, it's cleaner to do in a new branch $ git checkout -b test_branch Make a config file: $ make defconfig Compile: $ make -j4 && make bzImage && make modules Install: $ sudo -i $ make modules_install && make install Build initramfs (as root): $ cd /boot $ dracut initramfs-3.19.0+.img 3.19.0+ --force QEMU ---- Install buid dependencies of QEMU: $ yum-builddep qemu Clone the repo: $ git clone git://git.qemu.org/qemu.git Create a build directory to isolate source directory from build directory $ mkdir -p ~/build/qemu && cd ~/build/qemu Run the configure script: $ ~/src/qemu/configure --target-list=x86_64-softmmu \ --enable-debug Compile: $ make -j4 Boot a minimal: $ ./x86_64-softmmu/qemu-system-x86_64 --enable-kvm \ -smp 2 -m 1024 /export/images/fedora.qcow2 \ -nographic -stdio serial [https://kashyapc.fedorapeople.org/virt/minimal-qemu.bash] libvirt ------- Install build dependencies of libvirt: $ yum-builddep libvirt $ dnf install @buildsys-build works Clone the libvirt repo: $ git clone git://libvirt.org/libvirt.git && cd libvirt Create a build directory to isolate source directory from build directory: $ mkdir -p ~/build/libvirt && cd ~/build/libvirt NOTE: You can look at `configure --help` and disable all drivers you don't want/care about Run the autogen script: $ ../src/libvirt/autogen.sh Compile: $ make -j4 Run tests: $ make check Invoke libvirt programs without having to install them: $ ./run tools/virsh [. . .] Or, optinally, prepare RPMs, (assumes `rpmbuild` setup is properly configured): $ make rpm libguestfs ---------- Install build dependencies of libvirt: $ yum-builddep libguestfs Clone the libguestfs repo: $ git clone git://github.com/libguestfs/libguestfs.git \ && cd libguestfs Run the autogen script: $ ./autogen.sh Compile: $ make -j4 Run tests: $ make check Invoke libguestfs programs without having to install them: $ ./run guestfish [. . .]