diff --git a/src/define.sh b/src/define.sh index 7a1c705..501b8c8 100644 --- a/src/define.sh +++ b/src/define.sh @@ -1651,9 +1651,8 @@ addFolder() { info "$msg" && html "$msg" local dest="$src/\$OEM\$/\$1/OEM" - mkdir -p "$dest" - - ! cp -Lr "$folder/." "$dest" && return 1 + mkdir -p "$dest" || return 1 + cp -Lr "$folder/." "$dest" || return 1 local file file=$(find "$dest" -maxdepth 1 -type f -iname install.bat | head -n 1) @@ -1715,21 +1714,21 @@ prepareInstall() { error "Failed to locate required storage drivers!" && return 1 fi - cp -L "$drivers/viostor/$driver/$arch/viostor.sys" "$target" + cp -L "$drivers/viostor/$driver/$arch/viostor.sys" "$target" || return 1 - mkdir -p "$dir/\$OEM\$/\$1/Drivers/viostor" - cp -L "$drivers/viostor/$driver/$arch/viostor.cat" "$dir/\$OEM\$/\$1/Drivers/viostor" - cp -L "$drivers/viostor/$driver/$arch/viostor.inf" "$dir/\$OEM\$/\$1/Drivers/viostor" - cp -L "$drivers/viostor/$driver/$arch/viostor.sys" "$dir/\$OEM\$/\$1/Drivers/viostor" + mkdir -p "$dir/\$OEM\$/\$1/Drivers/viostor" || return 1 + cp -L "$drivers/viostor/$driver/$arch/viostor.cat" "$dir/\$OEM\$/\$1/Drivers/viostor" || return 1 + cp -L "$drivers/viostor/$driver/$arch/viostor.inf" "$dir/\$OEM\$/\$1/Drivers/viostor" || return 1 + cp -L "$drivers/viostor/$driver/$arch/viostor.sys" "$dir/\$OEM\$/\$1/Drivers/viostor" || return 1 if [ ! -f "$drivers/NetKVM/$driver/$arch/netkvm.sys" ]; then error "Failed to locate required network drivers!" && return 1 fi - mkdir -p "$dir/\$OEM\$/\$1/Drivers/NetKVM" - cp -L "$drivers/NetKVM/$driver/$arch/netkvm.cat" "$dir/\$OEM\$/\$1/Drivers/NetKVM" - cp -L "$drivers/NetKVM/$driver/$arch/netkvm.inf" "$dir/\$OEM\$/\$1/Drivers/NetKVM" - cp -L "$drivers/NetKVM/$driver/$arch/netkvm.sys" "$dir/\$OEM\$/\$1/Drivers/NetKVM" + mkdir -p "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1 + cp -L "$drivers/NetKVM/$driver/$arch/netkvm.cat" "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1 + cp -L "$drivers/NetKVM/$driver/$arch/netkvm.inf" "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1 + cp -L "$drivers/NetKVM/$driver/$arch/netkvm.sys" "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1 if [ ! -f "$target/TXTSETUP.SIF" ]; then error "The file TXTSETUP.SIF could not be found!" && return 1 @@ -1747,9 +1746,9 @@ prepareInstall() { error "Failed to locate required SATA drivers!" && return 1 fi - mkdir -p "$dir/\$OEM\$/\$1/Drivers/sata" - cp -Lr "$drivers/sata/xp/$arch/." "$dir/\$OEM\$/\$1/Drivers/sata" - cp -Lr "$drivers/sata/xp/$arch/." "$target" + mkdir -p "$dir/\$OEM\$/\$1/Drivers/sata" || return 1 + cp -Lr "$drivers/sata/xp/$arch/." "$dir/\$OEM\$/\$1/Drivers/sata" || return 1 + cp -Lr "$drivers/sata/xp/$arch/." "$target" || return 1 sed -i '/^\[SCSI.Load\]/s/$/\niaStor=iaStor.sys,4/' "$target/TXTSETUP.SIF" sed -i '/^\[FileFlags\]/s/$/\niaStor.sys = 16/' "$target/TXTSETUP.SIF" diff --git a/src/install.sh b/src/install.sh index b0c58ff..4d7f6da 100644 --- a/src/install.sh +++ b/src/install.sh @@ -704,9 +704,9 @@ addDriver() { esac 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 } @@ -731,33 +731,33 @@ addDrivers() { local target="\$WinPEDriver\$" 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 - addDriver "$version" "$drivers" "$target" "qxl" - addDriver "$version" "$drivers" "$target" "viofs" - addDriver "$version" "$drivers" "$target" "sriov" - addDriver "$version" "$drivers" "$target" "smbus" - addDriver "$version" "$drivers" "$target" "qxldod" - addDriver "$version" "$drivers" "$target" "viorng" - addDriver "$version" "$drivers" "$target" "viostor" - addDriver "$version" "$drivers" "$target" "viomem" - addDriver "$version" "$drivers" "$target" "NetKVM" - addDriver "$version" "$drivers" "$target" "Balloon" - addDriver "$version" "$drivers" "$target" "vioscsi" - addDriver "$version" "$drivers" "$target" "pvpanic" - addDriver "$version" "$drivers" "$target" "vioinput" - addDriver "$version" "$drivers" "$target" "viogpudo" - addDriver "$version" "$drivers" "$target" "vioserial" - addDriver "$version" "$drivers" "$target" "qemupciserial" + addDriver "$version" "$drivers" "$target" "qxl" || return 1 + addDriver "$version" "$drivers" "$target" "viofs" || return 1 + addDriver "$version" "$drivers" "$target" "sriov" || return 1 + addDriver "$version" "$drivers" "$target" "smbus" || return 1 + addDriver "$version" "$drivers" "$target" "qxldod" || return 1 + addDriver "$version" "$drivers" "$target" "viorng" || return 1 + addDriver "$version" "$drivers" "$target" "viostor" || return 1 + addDriver "$version" "$drivers" "$target" "viomem" || return 1 + addDriver "$version" "$drivers" "$target" "NetKVM" || return 1 + addDriver "$version" "$drivers" "$target" "Balloon" || return 1 + addDriver "$version" "$drivers" "$target" "vioscsi" || return 1 + addDriver "$version" "$drivers" "$target" "pvpanic" || return 1 + addDriver "$version" "$drivers" "$target" "vioinput" || return 1 + addDriver "$version" "$drivers" "$target" "viogpudo" || return 1 + addDriver "$version" "$drivers" "$target" "vioserial" || return 1 + addDriver "$version" "$drivers" "$target" "qemupciserial" || return 1 case "${version,,}" in "win11x64"* | "win2025"* ) # Workaround Virtio GPU driver bug local dst="$src/\$OEM\$/\$\$/Drivers" - mkdir -p "$dst" - ! cp -Lr "$dest/." "$dst" && return 1 + mkdir -p "$dst" || return 1 + cp -Lr "$dest/." "$dst" || return 1 rm -rf "$dest/viogpudo" ;; esac