Loading src/install.sh +67 −17 Original line number Diff line number Diff line Loading @@ -22,7 +22,11 @@ backup () { fi mkdir -p "$root" if ! makeDir "$root"; then error "Failed to create directory \"$root\" !" return 1 fi local folder="$name" local dir="$root/$folder" Loading @@ -34,7 +38,11 @@ backup () { done rm -rf "$dir" mkdir -p "$dir" if ! makeDir "$dir"; then error "Failed to create directory \"$dir\" !" return 1 fi [ -f "$iso" ] && mv -f "$iso" "$dir/" find "$STORAGE" -maxdepth 1 -type f -iname 'data.*' -not -iname '*.iso' -exec mv -n {} "$dir/" \; Loading Loading @@ -156,7 +164,9 @@ startInstall() { ! backup "" && error "Backup failed!" fi mkdir -p "$TMP" if ! makeDir "$TMP"; then error "Failed to create directory \"$TMP\" !" fi if [ -z "$CUSTOM" ]; then Loading @@ -178,6 +188,20 @@ startInstall() { return 0 } writeFile() { local txt="$1" local path="$2" echo "$txt" >"$path" if ! setOwner "$path"; then error "Failed to set the owner for \"$path\" !" fi return 0 } finishInstall() { local iso="$1" Loading @@ -188,6 +212,10 @@ finishInstall() { error "Failed to find ISO file: $iso" && return 1 fi if [[ "$iso" == "$STORAGE/"* ]]; then ! setOwner "$iso" && error "Failed to set the owner for \"$iso\" !" fi if [[ "$aborted" != [Yy1]* ]]; then # Mark ISO as prepared via magic byte byte="16" && [[ "$MANUAL" == [Yy1]* ]] && byte="17" Loading @@ -196,56 +224,68 @@ finishInstall() { fi fi cp -f /run/version "$STORAGE/windows.ver" local file="$STORAGE/windows.ver" cp -f /run/version "$file" ! setOwner "$file" && error "Failed to set the owner for \"$file\" !" if [[ "$iso" == "$STORAGE/"* ]]; then if [[ "$aborted" != [Yy1]* ]] || [ -z "$CUSTOM" ]; then base=$(basename "$iso") echo "$base" > "$STORAGE/windows.base" file="$STORAGE/windows.base" writeFile "$base" "$file" fi fi if [[ "${PLATFORM,,}" == "x64" ]]; then if [[ "${BOOT_MODE,,}" == "windows_legacy" ]]; then echo "$BOOT_MODE" > "$STORAGE/windows.mode" file="$STORAGE/windows.mode" writeFile "$BOOT_MODE" "$file" if [[ "${MACHINE,,}" != "q35" ]]; then echo "$MACHINE" > "$STORAGE/windows.old" file="$STORAGE/windows.old" writeFile "$MACHINE" "$file" fi else # Enable secure boot + TPM on manual installs as Win11 requires if [[ "$MANUAL" == [Yy1]* || "$aborted" == [Yy1]* ]]; then if [[ "${DETECTED,,}" == "win11"* ]]; then BOOT_MODE="windows_secure" echo "$BOOT_MODE" > "$STORAGE/windows.mode" file="$STORAGE/windows.mode" writeFile "$BOOT_MODE" "$file" fi fi # Enable secure boot on multi-socket systems to workaround freeze if [ -n "$SOCKETS" ] && [[ "$SOCKETS" != "1" ]]; then BOOT_MODE="windows_secure" echo "$BOOT_MODE" > "$STORAGE/windows.mode" file="$STORAGE/windows.mode" writeFile "$BOOT_MODE" "$file" fi fi fi if [ -n "${ARGS:-}" ]; then ARGUMENTS="$ARGS ${ARGUMENTS:-}" echo "$ARGS" > "$STORAGE/windows.args" file="$STORAGE/windows.args" writeFile "$ARGS" "$file" fi if [ -n "${VGA:-}" ] && [[ "${VGA:-}" != "virtio"* ]]; then echo "$VGA" > "$STORAGE/windows.vga" file="$STORAGE/windows.vga" writeFile "$VGA" "$file" fi if [ -n "${USB:-}" ] && [[ "${USB:-}" != "qemu-xhci"* ]]; then echo "$USB" > "$STORAGE/windows.usb" file="$STORAGE/windows.usb" writeFile "$USB" "$file" fi if [ -n "${DISK_TYPE:-}" ] && [[ "${DISK_TYPE:-}" != "scsi" ]]; then echo "$DISK_TYPE" > "$STORAGE/windows.type" file="$STORAGE/windows.type" writeFile "$DISK_TYPE" "$file" fi if [ -n "${ADAPTER:-}" ] && [[ "${ADAPTER:-}" != "virtio-net-pci" ]]; then echo "$ADAPTER" > "$STORAGE/windows.net" file="$STORAGE/windows.net" writeFile "$ADAPTER" "$file" fi rm -rf "$TMP" Loading Loading @@ -351,7 +391,10 @@ extractESD() { fi rm -rf "$dir" mkdir -p "$dir" if ! makeDir "$dir"; then error "Failed to create directory \"$dir\" !" && return 1 fi size=9606127360 size_gb=$(formatBytes "$size") Loading Loading @@ -407,6 +450,8 @@ extractESD() { error "Adding WinPE failed ($retVal)" && return 1 } fKill "progress.sh" local msg="Extracting $desc setup" info "$msg..." Loading Loading @@ -486,7 +531,10 @@ extractImage() { info "$msg..." && html "$msg..." rm -rf "$dir" mkdir -p "$dir" if ! makeDir "$dir"; then error "Failed to create directory \"$dir\" !" && return 1 fi size=$(stat -c%s "$iso") size_gb=$(formatBytes "$size") Loading Loading @@ -1177,6 +1225,8 @@ buildImage() { [[ "$error" != "$hide" ]] && echo "$error" mv -f "$out" "$BOOT" || return 1 ! setOwner "$BOOT" && error "Failed to set the owner for \"$BOOT\" !" return 0 } Loading src/mido.sh +4 −1 Original line number Diff line number Diff line Loading @@ -487,7 +487,10 @@ getESD() { info "$msg" && html "$msg" rm -rf "$dir" mkdir -p "$dir" if ! makeDir "$dir"; then error "Failed to create directory \"$dir\" !" && return 1 fi local xFile="products.xml" local eFile="esd_edition.xml" Loading src/power.sh +3 −1 Original line number Diff line number Diff line Loading @@ -105,7 +105,9 @@ finish() { if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$BOOT" ]; then # Remove CD-ROM ISO after install if ready; then touch "$STORAGE/windows.boot" local file="$STORAGE/windows.boot" touch "$file" ! setOwner "$file" && error "Failed to set the owner for \"$file\" !" if [[ "$REMOVE" != [Nn]* ]]; then rm -f "$BOOT" 2>/dev/null || true fi Loading Loading
src/install.sh +67 −17 Original line number Diff line number Diff line Loading @@ -22,7 +22,11 @@ backup () { fi mkdir -p "$root" if ! makeDir "$root"; then error "Failed to create directory \"$root\" !" return 1 fi local folder="$name" local dir="$root/$folder" Loading @@ -34,7 +38,11 @@ backup () { done rm -rf "$dir" mkdir -p "$dir" if ! makeDir "$dir"; then error "Failed to create directory \"$dir\" !" return 1 fi [ -f "$iso" ] && mv -f "$iso" "$dir/" find "$STORAGE" -maxdepth 1 -type f -iname 'data.*' -not -iname '*.iso' -exec mv -n {} "$dir/" \; Loading Loading @@ -156,7 +164,9 @@ startInstall() { ! backup "" && error "Backup failed!" fi mkdir -p "$TMP" if ! makeDir "$TMP"; then error "Failed to create directory \"$TMP\" !" fi if [ -z "$CUSTOM" ]; then Loading @@ -178,6 +188,20 @@ startInstall() { return 0 } writeFile() { local txt="$1" local path="$2" echo "$txt" >"$path" if ! setOwner "$path"; then error "Failed to set the owner for \"$path\" !" fi return 0 } finishInstall() { local iso="$1" Loading @@ -188,6 +212,10 @@ finishInstall() { error "Failed to find ISO file: $iso" && return 1 fi if [[ "$iso" == "$STORAGE/"* ]]; then ! setOwner "$iso" && error "Failed to set the owner for \"$iso\" !" fi if [[ "$aborted" != [Yy1]* ]]; then # Mark ISO as prepared via magic byte byte="16" && [[ "$MANUAL" == [Yy1]* ]] && byte="17" Loading @@ -196,56 +224,68 @@ finishInstall() { fi fi cp -f /run/version "$STORAGE/windows.ver" local file="$STORAGE/windows.ver" cp -f /run/version "$file" ! setOwner "$file" && error "Failed to set the owner for \"$file\" !" if [[ "$iso" == "$STORAGE/"* ]]; then if [[ "$aborted" != [Yy1]* ]] || [ -z "$CUSTOM" ]; then base=$(basename "$iso") echo "$base" > "$STORAGE/windows.base" file="$STORAGE/windows.base" writeFile "$base" "$file" fi fi if [[ "${PLATFORM,,}" == "x64" ]]; then if [[ "${BOOT_MODE,,}" == "windows_legacy" ]]; then echo "$BOOT_MODE" > "$STORAGE/windows.mode" file="$STORAGE/windows.mode" writeFile "$BOOT_MODE" "$file" if [[ "${MACHINE,,}" != "q35" ]]; then echo "$MACHINE" > "$STORAGE/windows.old" file="$STORAGE/windows.old" writeFile "$MACHINE" "$file" fi else # Enable secure boot + TPM on manual installs as Win11 requires if [[ "$MANUAL" == [Yy1]* || "$aborted" == [Yy1]* ]]; then if [[ "${DETECTED,,}" == "win11"* ]]; then BOOT_MODE="windows_secure" echo "$BOOT_MODE" > "$STORAGE/windows.mode" file="$STORAGE/windows.mode" writeFile "$BOOT_MODE" "$file" fi fi # Enable secure boot on multi-socket systems to workaround freeze if [ -n "$SOCKETS" ] && [[ "$SOCKETS" != "1" ]]; then BOOT_MODE="windows_secure" echo "$BOOT_MODE" > "$STORAGE/windows.mode" file="$STORAGE/windows.mode" writeFile "$BOOT_MODE" "$file" fi fi fi if [ -n "${ARGS:-}" ]; then ARGUMENTS="$ARGS ${ARGUMENTS:-}" echo "$ARGS" > "$STORAGE/windows.args" file="$STORAGE/windows.args" writeFile "$ARGS" "$file" fi if [ -n "${VGA:-}" ] && [[ "${VGA:-}" != "virtio"* ]]; then echo "$VGA" > "$STORAGE/windows.vga" file="$STORAGE/windows.vga" writeFile "$VGA" "$file" fi if [ -n "${USB:-}" ] && [[ "${USB:-}" != "qemu-xhci"* ]]; then echo "$USB" > "$STORAGE/windows.usb" file="$STORAGE/windows.usb" writeFile "$USB" "$file" fi if [ -n "${DISK_TYPE:-}" ] && [[ "${DISK_TYPE:-}" != "scsi" ]]; then echo "$DISK_TYPE" > "$STORAGE/windows.type" file="$STORAGE/windows.type" writeFile "$DISK_TYPE" "$file" fi if [ -n "${ADAPTER:-}" ] && [[ "${ADAPTER:-}" != "virtio-net-pci" ]]; then echo "$ADAPTER" > "$STORAGE/windows.net" file="$STORAGE/windows.net" writeFile "$ADAPTER" "$file" fi rm -rf "$TMP" Loading Loading @@ -351,7 +391,10 @@ extractESD() { fi rm -rf "$dir" mkdir -p "$dir" if ! makeDir "$dir"; then error "Failed to create directory \"$dir\" !" && return 1 fi size=9606127360 size_gb=$(formatBytes "$size") Loading Loading @@ -407,6 +450,8 @@ extractESD() { error "Adding WinPE failed ($retVal)" && return 1 } fKill "progress.sh" local msg="Extracting $desc setup" info "$msg..." Loading Loading @@ -486,7 +531,10 @@ extractImage() { info "$msg..." && html "$msg..." rm -rf "$dir" mkdir -p "$dir" if ! makeDir "$dir"; then error "Failed to create directory \"$dir\" !" && return 1 fi size=$(stat -c%s "$iso") size_gb=$(formatBytes "$size") Loading Loading @@ -1177,6 +1225,8 @@ buildImage() { [[ "$error" != "$hide" ]] && echo "$error" mv -f "$out" "$BOOT" || return 1 ! setOwner "$BOOT" && error "Failed to set the owner for \"$BOOT\" !" return 0 } Loading
src/mido.sh +4 −1 Original line number Diff line number Diff line Loading @@ -487,7 +487,10 @@ getESD() { info "$msg" && html "$msg" rm -rf "$dir" mkdir -p "$dir" if ! makeDir "$dir"; then error "Failed to create directory \"$dir\" !" && return 1 fi local xFile="products.xml" local eFile="esd_edition.xml" Loading
src/power.sh +3 −1 Original line number Diff line number Diff line Loading @@ -105,7 +105,9 @@ finish() { if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$BOOT" ]; then # Remove CD-ROM ISO after install if ready; then touch "$STORAGE/windows.boot" local file="$STORAGE/windows.boot" touch "$file" ! setOwner "$file" && error "Failed to set the owner for \"$file\" !" if [[ "$REMOVE" != [Nn]* ]]; then rm -f "$BOOT" 2>/dev/null || true fi Loading