Cyberus Technology released an open source version of KVM for VirtualBox

KVM

VirtualBox KVM Public Release

Cyberus Technology unveiled recently the public launch of VirtualBox KVM, which allows the KVM hypervisor built into the Linux kernel to be used in the VirtualBox virtualization system instead of the vboxdrv kernel module supplied in VirtualBox and which supports a wide range of guest operating systems and provides a consistent user interface.

Over the past few months, the Cyberus Technology team has spent considerable effort developing the backend that ensures that virtual machines are run by the KVM hypervisor while maintaining the traditional management model and VirtualBox interface, as well as supports running existing virtual machine configurations created for VirtualBox in KVM.

The basic appearance of VirtualBox KVM will be the same as a conventional VirtualBox. The user can start the same guest virtual machines in their existing VirtualBox configuration.

Among the latests Moravia's compositions advantages that stand out To run VirtualBox over KVM, the following are mentioned:

  1. Configuration flexibility: VirtualBox allows running virtual machines alongside other virtualization systems such as QEMU/KVM and Cloud Hypervisor. This makes it possible to run highly protected isolated services using Cloud Hypervisor, while Windows guest systems can operate in a friendlier environment provided by VirtualBox.
  2. Kernel driver independence: When running VirtualBox over KVM, there is no need to load the VirtualBox kernel driver (vboxdrv). This makes it easier to work with verified and certified builds of the Linux kernel, which do not allow loading of third-party modules.
  3. Taking advantage of advanced KVM features: VirtualBox over KVM enables the use of advanced hardware virtualization acceleration capabilities supported by KVM, which are not available in VirtualBox natively. For example, KVM offers the APICv extension to virtualize the interrupt handler, which can significantly improve I/O performance and reduce interrupt latency.
  4. Improvements in the security of Windows systems: KVM provides additional capabilities that strengthen the security of Windows systems operating in virtualized environments, which is especially relevant for enterprise environments where security is a priority.
  5. Compatibility with various kernel versions: VirtualBox KVM supports a wide range of Linux kernels, even those that are not supported by VirtualBox natively. While KVM is built into the kernel, VirtualBox's vboxdrv module requires adaptation for each new kernel version.
  6. stability and compatibility: VirtualBox KVM works stably in Linux-based host environments with x86_64 systems with Intel processors. Although support for AMD processors is present, it is still considered experimental and is continually being improved.

Due to the replacement of the underlying hypervisor, there will be differences in guest performance. Performance differences largely depend on guest workload.

For interested in being able to use VirtualBox KVM, they should know that At the moment there are no pre-built packages, so it must be compiled from source code. The process of creating VirtualBox from the source code can be found at virtualbox.org and only minor adjustments are required to create VirtualBox with KVM as backend.

On a fresh installation of Ubuntu 22.04, the following command can be used to install all prerequisites:

apt install acpica-tools chrpath doxygen g++-multilib libasound2-dev libcap-dev \
libcurl4-openssl-dev libdevmapper-dev libidl-dev libopus-dev libpam0g-dev \
libpulse-dev libqt5opengl5-dev libqt5x11extras5-dev qttools5-dev libsdl1.2-dev libsdl-ttf2.0-dev \
libssl-dev libvpx-dev libxcursor-dev libxinerama-dev libxml2-dev libxml2-utils \
libxmu-dev libxrandr-dev make nasm python3-dev python2-dev qttools5-dev-tools \
texlive texlive-fonts-extra texlive-latex-extra unzip xsltproc \
\
default-jdk libstdc++5 libxslt1-dev linux-kernel-headers makeself \
mesa-common-dev subversion yasm zlib1g-dev glslang-tools \
libc6-dev-i386 lib32stdc++6 libtpms-dev

After having all the prerequisites installed, the build process can be summarized in the following steps:

./configure --with-kvm --disable-kmods --disable-docs --disable-hardening --disable-java
source ./env.sh
kmk
out/linux.amd64/release/bin/VirtualBox

Finally, it is worth mentioning that the code is written in C and C++ and is distributed under the GPLv3 license. Naps interested in knowing more about it, you can check the details In the following link.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.