Skip to content

Instantly share code, notes, and snippets.

@waiteb3
Last active October 12, 2015 19:43
Show Gist options
  • Save waiteb3/dddb03782834b0bc88f8 to your computer and use it in GitHub Desktop.
Save waiteb3/dddb03782834b0bc88f8 to your computer and use it in GitHub Desktop.
#! /bin/bash
# swap virt modules for ubuntu 14 LTS
VBOX_SUBMODS="vboxnetadp vboxnetflt vboxpci"
VBOX_MOD_DIR="/var/lib/dkms/virtualbox/$(vboxmanage --version | tail -n 1 | awk -F'_' '{print $1}')/build"
KVM_MOD_CPU=$([[ $(lscpu | grep -ic 'intel') -gt 0 ]] && echo "intel" || echo "amd")
KVM_MOD_DIR="/lib/modules/$(uname -r)/kernel/arch/x86/kvm"
VBOX_ON=$(sudo /sbin/lsmod | grep -c vbox)
KVM_ON=$(sudo /sbin/lsmod | grep -c kvm)
PROC=$()
case "$@" in
"vboxoff")
if [[ $VBOX_ON -eq 0 ]]; then
echo "VBOX modules already off"
exit 1
fi
echo "On"
sudo /sbin/lsmod | grep vbox
sudo /sbin/rmmod $VBOX_SUBMODS
sudo /sbin/rmmod vboxdrv
echo "Off"
sudo /sbin/lsmod | grep vbox
;;
"vboxon")
if [[ $KVM_ON -ne 0 ]]; then
echo "KVM modules still on"
exit 1
fi
if [[ $VBOX_ON -gt 0 ]]; then
echo "VBOX modules already on"
exit 1
fi
echo "KVM lsmod :: " $(sudo /sbin/lsmod | grep kvm)
echo "Off"
sudo /sbin/lsmod | grep vbox
sudo /sbin/insmod $VBOX_MOD_DIR/vboxdrv/vboxdrv.ko
for mod in $VBOX_SUBMODS; do
sudo /sbin/insmod $VBOX_MOD_DIR/$mod/${mod}.ko
done
echo "On"
sudo /sbin/lsmod | grep vbox
;;
"kvmoff")
if [[ $KVM_ON -eq 0 ]]; then
echo "KVM modules already off"
exit 1
fi
echo "On"
sudo /sbin/lsmod | grep kvm
sudo /sbin/rmmod kvm-$KVM_MOD_CPU
sudo /sbin/rmmod kvm
echo "Off"
sudo /sbin/lsmod | grep kvm
;;
"kvmon")
if [[ $VBOX_ON -ne 0 ]]; then
echo "VBox modules still on"
exit 1
fi
if [[ $KVM_ON -gt 0 ]]; then
echo "KVM modules already on"
exit 1
fi
echo "VBOX lsmod :: " $(sudo /sbin/lsmod | grep vbox)
echo "Off"
sudo /sbin/lsmod | grep kvm
sudo /sbin/insmod $KVM_MOD_DIR/kvm.ko
sudo /sbin/insmod $KVM_MOD_DIR/kvm-${KVM_MOD_CPU}.ko
echo "On"
sudo /sbin/lsmod | grep kvm
;;
"status")
echo "KVM_ON $KVM_ON"
sudo /sbin/lsmod | grep kvm
echo "VBOX_ON $VBOX_ON"
sudo /sbin/lsmod | grep vbox
;;
*)
echo "{vboxoff|vboxon|kvmon|kvmoff|status}"
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment