# Add kernel cmdline tuning to the systemd-boot loader entries, idempotently. # systemd-boot reads `options` at boot — no initramfs/entry regeneration needed. # (intel_iommu is harmless on AMD CPUs; both target machines are Intel.) toks="intel_iommu=on iommu=pt" # VFIO / PCI passthrough [ "$GPU" = amd ] && toks="$toks amdgpu.mcbp=0 amdgpu.ppfeaturemask=0xfff7ffff" shopt -s nullglob entries=(/boot/loader/entries/arch*.conf) [ "${#entries[@]}" -gt 0 ] || die "no loader entries in /boot/loader/entries (run base install first)" for f in "${entries[@]}"; do opts="$(sed -n 's/^options //p' "$f")" for t in $toks; do case " $opts " in *" $t "*) ;; *) opts="$opts $t" ;; esac done sed -i "s|^options .*|options $opts|" "$f" info "$(basename "$f"): options $opts" done