move vbios_dumper into configs

This commit is contained in:
HikariKnight 2023-04-10 02:22:47 +02:00
parent 42a017a58b
commit 86b5ce77e6
3 changed files with 19 additions and 14 deletions

View file

@ -0,0 +1,53 @@
package configs
import (
"fmt"
"os"
"path/filepath"
"strings"
"github.com/HikariKnight/ls-iommu/pkg/errorcheck"
)
func GenerateVBIOSDumper(vbios_path string) {
// Get the config directories
config := GetConfig()
// Get the program directory
exe, _ := os.Executable()
scriptdir := filepath.Dir(exe)
// If we are using go run use the working directory instead
if strings.Contains(scriptdir, "/tmp/go-build") {
scriptdir, _ = os.Getwd()
}
vbios_script_template := fmt.Sprint(
"#!/bin/bash\n",
"# THIS FILE IS AUTO GENERATED!\n",
"# IF YOU HAVE CHANGED GPU, PLEASE RE-RUN QUICKPASSTHROUGH!\n",
"echo 1 | sudo tee %s\n",
"sudo bash -c \"cat %s\" > %s/%s/vfio_card.rom\n",
"echo 0 | sudo tee %s\n",
)
vbios_script := fmt.Sprintf(
vbios_script_template,
vbios_path,
vbios_path,
scriptdir,
config.Path.QUICKEMU,
vbios_path,
)
scriptfile, err := os.Create("utils/dump_vbios.sh")
errorcheck.ErrorCheck(err, "Cannot create file \"utils/dump_vbios.sh\"")
defer scriptfile.Close()
// Make the script executable
scriptfile.Chmod(0775)
errorcheck.ErrorCheck(err, "Could not change permissions of \"utils/dump_vbios.sh\"")
// Write the script
scriptfile.WriteString(vbios_script)
}