The warning you're encountering on your Oracle Ubuntu 22.04 ARM instance indicates that KVM (Kernel-based Virtual Machine) is not available. This can happen for several reasons, such as:
Since you're using an Oracle Cloud ARM instance, nested virtualization is often disabled by default for security and performance reasons. However, you can still check and attempt to enable KVM if your instance supports it.
Run the following command to check if your CPU supports virtualization:
bashegrep -c '(vmx|svm)' /proc/cpuinfo
0, your CPU does not support hardware virtualization (common on ARM instances unless explicitly enabled).1 or higher, your CPU supports virtualization, but KVM may still be disabled.For ARM-based systems, check for KVM support with:
bashls /dev/kvm
/dev/kvm exists, KVM is available.If KVM is supported but not installed, run:
bashsudo apt update sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
If KVM is installed but the modules are not loaded, run:
bashsudo modprobe kvm sudo modprobe kvm_arm # For ARM-based systems
Check if the modules are loaded:
bashlsmod | grep kvm
If you see kvm and kvm_arm in the output, the modules are loaded.
On Oracle Cloud ARM instances, nested virtualization is often disabled by default. You can check if it's enabled with:
bashcat /sys/module/kvm_arm/parameters/nested
Y or 1, nested virtualization is enabled.N or 0, it is disabled.Nested virtualization is not always supported on ARM instances in the cloud. If your instance supports it, you can try enabling it with:
bashecho "options kvm_arm nested=1" | sudo tee /etc/modprobe.d/kvm_arm.conf sudo modprobe -r kvm_arm sudo modprobe kvm_arm
Then verify:
bashcat /sys/module/kvm_arm/parameters/nested
After making changes, restart the libvirtd service:
bashsudo systemctl restart libvirtd
Run:
bashkvm-ok
KVM acceleration can be used, KVM is working.If KVM is not available (e.g., nested virtualization is disabled on your cloud instance), you can still run VMs using QEMU with TCG (Tiny Code Generator), but performance will be significantly slower.
To use QEMU without KVM:
bashqemu-system-aarch64 -enable-kvm # This will fail if KVM is unavailable qemu-system-aarch64 # Falls back to TCG (slow)
Oracle Cloud ARM instances (e.g., Ampere A1) do not support nested virtualization by default. You cannot enable KVM inside an Oracle Cloud ARM instance for running nested VMs. If you need KVM, consider using an x86_64 instance (e.g., Intel or AMD) where nested virtualization is often supported.
If you must use ARM, you can only run VMs in emulation mode (TCG), which is very slow and not recommended for production.
sudo apt install qemu-kvm libvirt-daemon-system)sudo modprobe kvm kvm_arm)If you're using Oracle Cloud ARM instances, KVM is not available for nested virtualization. You have two options:
qemu-system-aarch64 (not recommended for performance-critical workloads).Vibe can make mistakes. Check answers. Learn more