Complete manual
parent
5b268feabd
commit
8f40417d4e
@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
GUEST_NAME="$1"
|
||||
HOOK_NAME="$2"
|
||||
STATE_NAME="$3"
|
||||
MISC="${@:4}"
|
||||
|
||||
BASEDIR="$(dirname $0)"
|
||||
|
||||
HOOKPATH="$BASEDIR/qemu.d/$GUEST_NAME/$HOOK_NAME/$STATE_NAME"
|
||||
set -e # If a script exits with an error, we should as well.
|
||||
|
||||
if [ -f "$HOOKPATH" ]; then
|
||||
eval \""$HOOKPATH"\" "$@"
|
||||
elif [ -d "$HOOKPATH" ]; then
|
||||
while read file; do
|
||||
eval \""$file"\" "$@"
|
||||
done <<< "$(find -L "$HOOKPATH" -maxdepth 1 -type f -executable -print;)"
|
||||
fi
|
@ -1,22 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -x
|
||||
|
||||
# Stop display manager
|
||||
systemctl stop display-manager
|
||||
|
||||
# Unbind EFI Framebuffer
|
||||
echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind
|
||||
|
||||
# Unload NVIDIA kernel modules
|
||||
modprobe -r nvidia_drm nvidia_modeset nvidia_uvm nvidia
|
||||
|
||||
# Unload AMD kernel module
|
||||
# modprobe -r amdgpu
|
||||
|
||||
# Detach GPU devices from host
|
||||
# Use your GPU and HDMI Audio PCI host device
|
||||
virsh nodedev-detach pci_0000_01_00_0
|
||||
virsh nodedev-detach pci_0000_01_00_1
|
||||
|
||||
# Load vfio module
|
||||
modprobe vfio-pci
|
@ -1,25 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -x
|
||||
|
||||
# Unload vfio module
|
||||
modprobe -r vfio-pci
|
||||
|
||||
# Attach GPU devices to host
|
||||
# Use your GPU and HDMI Audio PCI host device
|
||||
virsh nodedev-reattach pci_0000_01_00_0
|
||||
virsh nodedev-reattach pci_0000_01_00_1
|
||||
|
||||
# Rebind framebuffer to host
|
||||
echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind
|
||||
|
||||
# Load NVIDIA kernel modules
|
||||
modprobe nvidia_drm
|
||||
modprobe nvidia_modeset
|
||||
modprobe nvidia_uvm
|
||||
modprobe nvidia
|
||||
|
||||
# Load AMD kernel module
|
||||
# modprobe amdgpu
|
||||
|
||||
# Restart Display Manager
|
||||
systemctl start display-manager
|
@ -1,33 +0,0 @@
|
||||
if [[ -z lspcu | grep Virtualization ]]; then
|
||||
echo "ERROR: Virtualization isn't supported in this system"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z dmesg | grep 'IOMMU enabled' ]]; then
|
||||
echo "IOMMU isn't enabled. Enabling IOMMU... "
|
||||
if [[ -f /boot/grub/grub.cfg ]]; then
|
||||
echo "Loading GRUB configuration.. "
|
||||
config=/etc/default/grub
|
||||
if [[ lscpu | grep GenuineIntel ]]; then
|
||||
if [[ -z sed -n 's/^GRUB_CMDLINE_LINUX_DEFAULT=//p' $config | grep intel_iommu=on ]]; then
|
||||
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="\(.*\)"/GRUB_CMDLINE_LINUX_DEFAULT="\1 intel_iommu=on"/' $config
|
||||
fi
|
||||
else
|
||||
if [[ -z sed -n 's/^GRUB_CMDLINE_LINUX_DEFAULT=//p' $config | grep amd_iommu=on ]]; then
|
||||
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="\(.*\)"/GRUB_CMDLINE_LINUX_DEFAULT="\1 amd_iommu=on"/' $config
|
||||
fi
|
||||
elif [[ -f /boot/loader/loader.conf ]]; then
|
||||
echo "Loading systemd-boot configuration... "
|
||||
echo "Add intel_iommu=on or amd_iommu=on depending on your CPU to options in boot entry.."
|
||||
# TODO
|
||||
fi
|
||||
echo "IOMMU enabled.."
|
||||
echo "Please reboot your system to continue.."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "COPYING LIBVIRT SCRIPTS"
|
||||
cp scripts/* /etc/libvirt/hooks/
|
||||
|
||||
echo "CONFIGURATION FINISHED.."
|
||||
# TODO MORE OPTIONS
|
Loading…
Reference in New Issue