quickpassthrough/lib/set_DRACUT.sh
2022-03-12 20:29:58 +01:00

28 lines
No EOL
818 B
Bash
Executable file

#!/bin/bash
function set_DRACUT () {
# Get the config paths
source "$SCRIPTDIR/lib/paths.sh"
# Write the dracut config
echo "add_drivers+=\" vfio_pci vfio vfio_iommu_type1 vfio_virqfd \"" > "$SCRIPTDIR/$DRACUT/10-vfio.conf"
# Get the kernel_args file content
CMDLINE=$(cat "$SCRIPTDIR/config/kernel_args")
# Update kernel_args to load the vfio_pci module early in dracut (as dracut uses kernel arguments for early loading)
echo "$CMDLINE rd.driver.pre=vfio_pci" > "$SCRIPTDIR/config/kernel_args"
# Bind GPU to VFIO
"$SCRIPTDIR/lib/set_VFIO.sh" "$1"
# Configure modprobe
exec "$SCRIPTDIR/lib/set_MODPROBE.sh" "$1"
}
function main () {
SCRIPTDIR=$(dirname "$(realpath "$0")" | perl -pe "s/\/\.\.\/lib//" | perl -pe "s/\/lib$//")
set_DRACUT "$1"
}
main "$1"