fix: Continue without drivers (#204)
This commit is contained in:
parent
7777c17c2a
commit
43cb674038
3 changed files with 38 additions and 38 deletions
|
@ -733,9 +733,8 @@ addFolder() {
|
||||||
info "$msg" && html "$msg"
|
info "$msg" && html "$msg"
|
||||||
|
|
||||||
local dest="$src/\$OEM\$/\$1/OEM"
|
local dest="$src/\$OEM\$/\$1/OEM"
|
||||||
mkdir -p "$dest"
|
mkdir -p "$dest" || return 1
|
||||||
|
cp -Lr "$folder/." "$dest" || return 1
|
||||||
! cp -Lr "$folder/." "$dest" && return 1
|
|
||||||
|
|
||||||
local file
|
local file
|
||||||
file=$(find "$dest" -maxdepth 1 -type f -iname install.bat | head -n 1)
|
file=$(find "$dest" -maxdepth 1 -type f -iname install.bat | head -n 1)
|
||||||
|
|
|
@ -541,7 +541,7 @@ detectImage() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
info=$(wimlib-imagex info -xml "$wim" | tr -d '\000')
|
info=$(wimlib-imagex info -xml "$wim" | tr -d '\000')
|
||||||
! checkPlatform "$info" && exit 67
|
checkPlatform "$info" || exit 67
|
||||||
|
|
||||||
DETECTED=$(detectVersion "$info")
|
DETECTED=$(detectVersion "$info")
|
||||||
|
|
||||||
|
@ -588,7 +588,7 @@ prepareImage() {
|
||||||
|
|
||||||
desc=$(printVersion "$DETECTED" "$DETECTED")
|
desc=$(printVersion "$DETECTED" "$DETECTED")
|
||||||
|
|
||||||
! setMachine "$DETECTED" "$iso" "$dir" "$desc" && return 1
|
setMachine "$DETECTED" "$iso" "$dir" "$desc" || return 1
|
||||||
skipVersion "$DETECTED" && return 0
|
skipVersion "$DETECTED" && return 0
|
||||||
|
|
||||||
if [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then
|
if [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then
|
||||||
|
@ -704,9 +704,9 @@ addDriver() {
|
||||||
esac
|
esac
|
||||||
|
|
||||||
local dest="$path/$target/$driver"
|
local dest="$path/$target/$driver"
|
||||||
mkdir -p "$dest"
|
mkdir -p "$dest" || return 1
|
||||||
|
cp -Lr "$path/$driver/$folder/." "$dest" || return 1
|
||||||
|
|
||||||
cp -Lr "$path/$driver/$folder/." "$dest"
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -731,33 +731,33 @@ addDrivers() {
|
||||||
|
|
||||||
local target="\$WinPEDriver\$"
|
local target="\$WinPEDriver\$"
|
||||||
local dest="$drivers/$target"
|
local dest="$drivers/$target"
|
||||||
mkdir -p "$dest"
|
mkdir -p "$dest" || return 1
|
||||||
|
|
||||||
wimlib-imagex update "$file" "$index" --command "delete --force --recursive /$target" >/dev/null || true
|
wimlib-imagex update "$file" "$index" --command "delete --force --recursive /$target" >/dev/null || true
|
||||||
|
|
||||||
addDriver "$version" "$drivers" "$target" "qxl"
|
addDriver "$version" "$drivers" "$target" "qxl" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "viofs"
|
addDriver "$version" "$drivers" "$target" "viofs" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "sriov"
|
addDriver "$version" "$drivers" "$target" "sriov" || return 1
|
||||||
# Disable temporarily : addDriver "$version" "$drivers" "$target" "smbus"
|
# Disable temporarily : addDriver "$version" "$drivers" "$target" "smbus" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "qxldod"
|
addDriver "$version" "$drivers" "$target" "qxldod" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "viorng"
|
addDriver "$version" "$drivers" "$target" "viorng" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "viostor"
|
addDriver "$version" "$drivers" "$target" "viostor" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "viomem"
|
addDriver "$version" "$drivers" "$target" "viomem" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "NetKVM"
|
addDriver "$version" "$drivers" "$target" "NetKVM" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "Balloon"
|
addDriver "$version" "$drivers" "$target" "Balloon" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "vioscsi"
|
addDriver "$version" "$drivers" "$target" "vioscsi" || return 1
|
||||||
# Disable temporarily : addDriver "$version" "$drivers" "$target" "pvpanic"
|
# Disable temporarily : addDriver "$version" "$drivers" "$target" "pvpanic" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "vioinput"
|
addDriver "$version" "$drivers" "$target" "vioinput" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "viogpudo"
|
addDriver "$version" "$drivers" "$target" "viogpudo" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "vioserial"
|
addDriver "$version" "$drivers" "$target" "vioserial" || return 1
|
||||||
addDriver "$version" "$drivers" "$target" "qemupciserial"
|
addDriver "$version" "$drivers" "$target" "qemupciserial" || return 1
|
||||||
|
|
||||||
case "${version,,}" in
|
case "${version,,}" in
|
||||||
"win11x64"* | "win2025"* )
|
"win11x64"* | "win2025"* )
|
||||||
# Workaround Virtio GPU driver bug
|
# Workaround Virtio GPU driver bug
|
||||||
local dst="$src/\$OEM\$/\$\$/Drivers"
|
local dst="$src/\$OEM\$/\$\$/Drivers"
|
||||||
mkdir -p "$dst"
|
mkdir -p "$dst" || return 1
|
||||||
! cp -Lr "$dest/." "$dst" && return 1
|
cp -Lr "$dest/." "$dst" || return 1
|
||||||
rm -rf "$dest/viogpudo"
|
rm -rf "$dest/viogpudo"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -815,11 +815,11 @@ updateImage() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! addDrivers "$src" "$tmp" "$wim" "$index" "$DETECTED"; then
|
if ! addDrivers "$src" "$tmp" "$wim" "$index" "$DETECTED"; then
|
||||||
error "Failed to add drivers to image!" && return 1
|
error "Failed to add drivers to image!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! addFolder "$src"; then
|
if ! addFolder "$src"; then
|
||||||
error "Failed to add OEM folder to image!" && return 1
|
error "Failed to add OEM folder to image!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if wimlib-imagex extract "$wim" "$index" "/$file" "--dest-dir=$tmp" >/dev/null 2>&1; then
|
if wimlib-imagex extract "$wim" "$index" "/$file" "--dest-dir=$tmp" >/dev/null 2>&1; then
|
||||||
|
@ -884,7 +884,8 @@ removeImage() {
|
||||||
|
|
||||||
[ ! -f "$iso" ] && return 0
|
[ ! -f "$iso" ] && return 0
|
||||||
[ -n "$CUSTOM" ] && return 0
|
[ -n "$CUSTOM" ] && return 0
|
||||||
! rm -f "$iso" 2> /dev/null && warn "failed to remove $iso !"
|
|
||||||
|
rm -f "$iso" 2> /dev/null || warn "failed to remove $iso !"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
@ -927,20 +928,20 @@ buildImage() {
|
||||||
|
|
||||||
if [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then
|
if [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then
|
||||||
|
|
||||||
! genisoimage -o "$out" -b "$ETFS" -no-emul-boot -c "$cat" -iso-level 4 -J -l -D -N -joliet-long -relaxed-filenames -V "${LABEL::30}" \
|
genisoimage -o "$out" -b "$ETFS" -no-emul-boot -c "$cat" -iso-level 4 -J -l -D -N -joliet-long -relaxed-filenames -V "${LABEL::30}" \
|
||||||
-udf -boot-info-table -eltorito-alt-boot -eltorito-boot "$EFISYS" -no-emul-boot -allow-limited-size -quiet "$dir" 2> "$log" && failed="y"
|
-udf -boot-info-table -eltorito-alt-boot -eltorito-boot "$EFISYS" -no-emul-boot -allow-limited-size -quiet "$dir" 2> "$log" || failed="y"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
case "${DETECTED,,}" in
|
case "${DETECTED,,}" in
|
||||||
"win2k"* | "winxp"* | "win2003"* )
|
"win2k"* | "winxp"* | "win2003"* )
|
||||||
! genisoimage -o "$out" -b "$ETFS" -no-emul-boot -boot-load-seg 1984 -boot-load-size 4 -c "$cat" -iso-level 2 -J -l -D -N -joliet-long \
|
genisoimage -o "$out" -b "$ETFS" -no-emul-boot -boot-load-seg 1984 -boot-load-size 4 -c "$cat" -iso-level 2 -J -l -D -N -joliet-long \
|
||||||
-relaxed-filenames -V "${LABEL::30}" -quiet "$dir" 2> "$log" && failed="y" ;;
|
-relaxed-filenames -V "${LABEL::30}" -quiet "$dir" 2> "$log" || failed="y" ;;
|
||||||
"win9"* )
|
"win9"* )
|
||||||
! genisoimage -o "$out" -b "$ETFS" -J -r -V "${LABEL::30}" -quiet "$dir" 2> "$log" && failed="y" ;;
|
genisoimage -o "$out" -b "$ETFS" -J -r -V "${LABEL::30}" -quiet "$dir" 2> "$log" || failed="y" ;;
|
||||||
* )
|
* )
|
||||||
! genisoimage -o "$out" -b "$ETFS" -no-emul-boot -c "$cat" -iso-level 2 -J -l -D -N -joliet-long -relaxed-filenames -V "${LABEL::30}" \
|
genisoimage -o "$out" -b "$ETFS" -no-emul-boot -c "$cat" -iso-level 2 -J -l -D -N -joliet-long -relaxed-filenames -V "${LABEL::30}" \
|
||||||
-udf -allow-limited-size -quiet "$dir" 2> "$log" && failed="y" ;;
|
-udf -allow-limited-size -quiet "$dir" 2> "$log" || failed="y" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -956,7 +957,7 @@ buildImage() {
|
||||||
[ -s "$log" ] && error="$(<"$log")"
|
[ -s "$log" ] && error="$(<"$log")"
|
||||||
[[ "$error" != "$hide" ]] && echo "$error"
|
[[ "$error" != "$hide" ]] && echo "$error"
|
||||||
|
|
||||||
! mv -f "$out" "$BOOT" && return 1
|
mv -f "$out" "$BOOT" || return 1
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -592,7 +592,7 @@ downloadFile() {
|
||||||
if [ "$total" -lt 100000000 ]; then
|
if [ "$total" -lt 100000000 ]; then
|
||||||
error "Invalid download link: $url (is only $total bytes?). Please report this at $SUPPORT/issues." && return 1
|
error "Invalid download link: $url (is only $total bytes?). Please report this at $SUPPORT/issues." && return 1
|
||||||
fi
|
fi
|
||||||
! verifyFile "$iso" "$size" "$total" "$sum" && return 1
|
verifyFile "$iso" "$size" "$total" "$sum" || return 1
|
||||||
html "Download finished successfully..." && return 0
|
html "Download finished successfully..." && return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue