Last active
October 12, 2015 19:43
-
-
Save waiteb3/dddb03782834b0bc88f8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /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