Merge pull request #8 from outis1one/claude/bios-vt-power-settings-mxjh0x
fix: gpu-passthrough-setup handle GRUB when proxmox-boot-tool absent
This commit is contained in:
@@ -50,28 +50,34 @@ read -rp "Proceed with configuring VFIO passthrough? [y/N] " confirm
|
||||
echo ""
|
||||
echo "--- Configuring kernel cmdline for IOMMU ---"
|
||||
|
||||
if [[ ! -f "$CMDLINE_FILE" ]]; then
|
||||
echo "ERROR: $CMDLINE_FILE not found. Is this a Proxmox EFI system?"
|
||||
echo "For legacy GRUB: edit /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT instead."
|
||||
exit 1
|
||||
if [[ -f "$CMDLINE_FILE" ]]; then
|
||||
# Proxmox EFI boot tool path
|
||||
current_cmdline=$(cat "$CMDLINE_FILE")
|
||||
new_cmdline="$current_cmdline"
|
||||
[[ "$new_cmdline" =~ intel_iommu=on ]] || new_cmdline="$new_cmdline intel_iommu=on"
|
||||
[[ "$new_cmdline" =~ iommu=pt ]] || new_cmdline="$new_cmdline iommu=pt"
|
||||
new_cmdline=$(echo "$new_cmdline" | tr -s ' ' | sed 's/^ //;s/ $//')
|
||||
echo "$new_cmdline" > "$CMDLINE_FILE"
|
||||
echo "Written: $CMDLINE_FILE"
|
||||
echo " $new_cmdline"
|
||||
proxmox-boot-tool refresh
|
||||
echo "Boot tool refreshed."
|
||||
else
|
||||
# Legacy GRUB path
|
||||
GRUB_FILE="/etc/default/grub"
|
||||
echo "No $CMDLINE_FILE found — using GRUB at $GRUB_FILE"
|
||||
current_cmdline=$(grep '^GRUB_CMDLINE_LINUX_DEFAULT=' "$GRUB_FILE" | sed 's/GRUB_CMDLINE_LINUX_DEFAULT="\(.*\)"/\1/')
|
||||
new_cmdline="$current_cmdline"
|
||||
[[ "$new_cmdline" =~ intel_iommu=on ]] || new_cmdline="$new_cmdline intel_iommu=on"
|
||||
[[ "$new_cmdline" =~ iommu=pt ]] || new_cmdline="$new_cmdline iommu=pt"
|
||||
new_cmdline=$(echo "$new_cmdline" | tr -s ' ' | sed 's/^ //;s/ $//')
|
||||
sed -i "s|^GRUB_CMDLINE_LINUX_DEFAULT=.*|GRUB_CMDLINE_LINUX_DEFAULT=\"$new_cmdline\"|" "$GRUB_FILE"
|
||||
echo "Written: $GRUB_FILE"
|
||||
echo " GRUB_CMDLINE_LINUX_DEFAULT=\"$new_cmdline\""
|
||||
update-grub
|
||||
echo "GRUB updated."
|
||||
fi
|
||||
|
||||
current_cmdline=$(cat "$CMDLINE_FILE")
|
||||
new_cmdline="$current_cmdline"
|
||||
|
||||
[[ "$new_cmdline" =~ intel_iommu=on ]] || new_cmdline="$new_cmdline intel_iommu=on"
|
||||
[[ "$new_cmdline" =~ iommu=pt ]] || new_cmdline="$new_cmdline iommu=pt"
|
||||
|
||||
# Deduplicate spaces
|
||||
new_cmdline=$(echo "$new_cmdline" | tr -s ' ' | sed 's/^ //;s/ $//')
|
||||
|
||||
echo "$new_cmdline" > "$CMDLINE_FILE"
|
||||
echo "Written: $CMDLINE_FILE"
|
||||
echo " $new_cmdline"
|
||||
|
||||
proxmox-boot-tool refresh
|
||||
echo "Boot tool refreshed."
|
||||
|
||||
# ── Step 4: Blacklist host GPU drivers ────────────────────────────────────────
|
||||
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user