|
@@ -701,9 +701,6 @@ addDriver() {
|
|
|
"winvista"* )
|
|
|
[[ "${driver,,}" == "viorng" ]] && return 0
|
|
|
;;
|
|
|
- "win11x64"* | "win2025"* )
|
|
|
- [[ "${driver,,}" == "viogpudo" ]] && return 0
|
|
|
- ;;
|
|
|
esac
|
|
|
|
|
|
local dest="$path/$target/$driver"
|
|
@@ -714,9 +711,10 @@ addDriver() {
|
|
|
|
|
|
addDrivers() {
|
|
|
|
|
|
- local file="$1"
|
|
|
- local index="$2"
|
|
|
- local version="$3"
|
|
|
+ local src="$1"
|
|
|
+ local file="$2"
|
|
|
+ local index="$3"
|
|
|
+ local version="$4"
|
|
|
|
|
|
local msg="Adding drivers to image..."
|
|
|
info "$msg" && html "$msg"
|
|
@@ -751,6 +749,16 @@ addDrivers() {
|
|
|
addDriver "$version" "$drivers" "$target" "vioserial"
|
|
|
addDriver "$version" "$drivers" "$target" "qemupciserial"
|
|
|
|
|
|
+ case "${version,,}" in
|
|
|
+ "win11x64"* | "win2025"* )
|
|
|
+ # Workaround Virtio GPU driver bug
|
|
|
+ local dst="$src/\$OEM\$/\$\$/Drivers"
|
|
|
+ mkdir -p "$dst"
|
|
|
+ ! cp -a "$dest/." "$dst" && return 1
|
|
|
+ rm -rf "$dest/viogpudo"
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+
|
|
|
if ! wimlib-imagex update "$file" "$index" --command "add $dest /$target" >/dev/null; then
|
|
|
return 1
|
|
|
fi
|
|
@@ -772,10 +780,10 @@ addFolder() {
|
|
|
local msg="Adding OEM folder to image..."
|
|
|
info "$msg" && html "$msg"
|
|
|
|
|
|
- local dest="$src/\$OEM\$/\$1/"
|
|
|
+ local dest="$src/\$OEM\$/\$1/OEM"
|
|
|
mkdir -p "$dest"
|
|
|
|
|
|
- ! cp -r "$folder" "$dest" && return 1
|
|
|
+ ! cp -a "$folder/." "$dest" && return 1
|
|
|
|
|
|
local file
|
|
|
file=$(find "$dest" -maxdepth 1 -type f -iname install.bat | head -n 1)
|
|
@@ -824,7 +832,7 @@ updateImage() {
|
|
|
index="2"
|
|
|
fi
|
|
|
|
|
|
- if ! addDrivers "$wim" "$index" "$DETECTED"; then
|
|
|
+ if ! addDrivers "$src" "$wim" "$index" "$DETECTED"; then
|
|
|
error "Failed to add drivers to image!" && return 1
|
|
|
fi
|
|
|
|