36 lines
779 B
Bash
Executable File
36 lines
779 B
Bash
Executable File
#!/bin/bash
|
|
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "this program requires root access"
|
|
exit
|
|
fi
|
|
|
|
kernel_modules="vfio_pci vfio vfio_iommu_type1 vfio_virqfd"
|
|
|
|
select choice1 in "enable vfio" "disable vfio" "exit"; do
|
|
case $choice1 in
|
|
"enable vfio")
|
|
sudo echo "options vfio-pci ids=1002:67b1,1002:aac8" >> /etc/modprobe.d/vfio.conf
|
|
sudo sed -i -e "s/MODULES=()/MODULES=($kernel_modules)/g" /etc/mkinitcpio.conf
|
|
break;;
|
|
"disable vfio")
|
|
sudo rm /etc/modprobe.d/vfio.conf
|
|
sudo sed -i -e "s/MODULES=($kernel_modules)/MODULES=()/g" /etc/mkinitcpio.conf
|
|
break;;
|
|
"exit")
|
|
exit;;
|
|
esac
|
|
done
|
|
|
|
echo "regenerate the initramfs?"
|
|
select choice2 in "yes" "no"; do
|
|
case $choice2 in
|
|
"yes")
|
|
sudo mkinitcpio -p linux
|
|
break;;
|
|
"no")
|
|
exit;;
|
|
esac
|
|
done
|
|
|