diff --git a/.devcontainer/010 - Windows 11 Enterprise/devcontainer.json b/.devcontainer/010 - Windows 11 Enterprise/devcontainer.json index cc0e5ae..0c80313 100644 --- a/.devcontainer/010 - Windows 11 Enterprise/devcontainer.json +++ b/.devcontainer/010 - Windows 11 Enterprise/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "11e" - }, + }, "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/020 - Windows 11 LTSC/devcontainer.json b/.devcontainer/020 - Windows 11 LTSC/devcontainer.json index 23e54ff..07a560e 100644 --- a/.devcontainer/020 - Windows 11 LTSC/devcontainer.json +++ b/.devcontainer/020 - Windows 11 LTSC/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "11l" - }, + }, "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/030 - Windows 10 Pro/devcontainer.json b/.devcontainer/030 - Windows 10 Pro/devcontainer.json index c5a647b..579209b 100644 --- a/.devcontainer/030 - Windows 10 Pro/devcontainer.json +++ b/.devcontainer/030 - Windows 10 Pro/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "10" - }, + }, "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/040 - Windows 10 Enterprise/devcontainer.json b/.devcontainer/040 - Windows 10 Enterprise/devcontainer.json index 1466e11..891be73 100644 --- a/.devcontainer/040 - Windows 10 Enterprise/devcontainer.json +++ b/.devcontainer/040 - Windows 10 Enterprise/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "10e" - }, + }, "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/050 - Windows 10 LTSC/devcontainer.json b/.devcontainer/050 - Windows 10 LTSC/devcontainer.json index dfc8f5c..d18b867 100644 --- a/.devcontainer/050 - Windows 10 LTSC/devcontainer.json +++ b/.devcontainer/050 - Windows 10 LTSC/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "10l" - }, + }, "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/060 - Windows 8.1 Enterprise/devcontainer.json b/.devcontainer/060 - Windows 8.1 Enterprise/devcontainer.json index e58f7ad..77debb3 100644 --- a/.devcontainer/060 - Windows 8.1 Enterprise/devcontainer.json +++ b/.devcontainer/060 - Windows 8.1 Enterprise/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "8e" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/070 - Windows 7 Ultimate/devcontainer.json b/.devcontainer/070 - Windows 7 Ultimate/devcontainer.json index 85878f0..b6da3da 100644 --- a/.devcontainer/070 - Windows 7 Ultimate/devcontainer.json +++ b/.devcontainer/070 - Windows 7 Ultimate/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "7u" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/080 - Windows Vista Ultimate/devcontainer.json b/.devcontainer/080 - Windows Vista Ultimate/devcontainer.json index b99c942..1b907fe 100644 --- a/.devcontainer/080 - Windows Vista Ultimate/devcontainer.json +++ b/.devcontainer/080 - Windows Vista Ultimate/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "vu" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/090 - Windows XP Professional/devcontainer.json b/.devcontainer/090 - Windows XP Professional/devcontainer.json index a2c51c4..560ad6b 100644 --- a/.devcontainer/090 - Windows XP Professional/devcontainer.json +++ b/.devcontainer/090 - Windows XP Professional/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "xp" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/100 - Windows 2000 Professional/devcontainer.json b/.devcontainer/100 - Windows 2000 Professional/devcontainer.json index e5fab13..7faee4b 100644 --- a/.devcontainer/100 - Windows 2000 Professional/devcontainer.json +++ b/.devcontainer/100 - Windows 2000 Professional/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "2k" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/110 - Windows Server 2025/devcontainer.json b/.devcontainer/110 - Windows Server 2025/devcontainer.json index 96089cc..547c1ac 100644 --- a/.devcontainer/110 - Windows Server 2025/devcontainer.json +++ b/.devcontainer/110 - Windows Server 2025/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "2025" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/120 - Windows Server 2022/devcontainer.json b/.devcontainer/120 - Windows Server 2022/devcontainer.json index 9897a67..a490a66 100644 --- a/.devcontainer/120 - Windows Server 2022/devcontainer.json +++ b/.devcontainer/120 - Windows Server 2022/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "2022" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/130 - Windows Server 2019/devcontainer.json b/.devcontainer/130 - Windows Server 2019/devcontainer.json index 9903599..fbcd4bf 100644 --- a/.devcontainer/130 - Windows Server 2019/devcontainer.json +++ b/.devcontainer/130 - Windows Server 2019/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "2019" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/140 - Windows Server 2016/devcontainer.json b/.devcontainer/140 - Windows Server 2016/devcontainer.json index 614b171..eb48544 100644 --- a/.devcontainer/140 - Windows Server 2016/devcontainer.json +++ b/.devcontainer/140 - Windows Server 2016/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "2016" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/150 - Windows Server 2012 R2/devcontainer.json b/.devcontainer/150 - Windows Server 2012 R2/devcontainer.json index 158036c..c2dd726 100644 --- a/.devcontainer/150 - Windows Server 2012 R2/devcontainer.json +++ b/.devcontainer/150 - Windows Server 2012 R2/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "2012" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/160 - Windows Server 2008 R2/devcontainer.json b/.devcontainer/160 - Windows Server 2008 R2/devcontainer.json index 5dc1af6..2f5d724 100644 --- a/.devcontainer/160 - Windows Server 2008 R2/devcontainer.json +++ b/.devcontainer/160 - Windows Server 2008 R2/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "2008" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/170 - Windows Server 2003/devcontainer.json b/.devcontainer/170 - Windows Server 2003/devcontainer.json index c47effb..f06440f 100644 --- a/.devcontainer/170 - Windows Server 2003/devcontainer.json +++ b/.devcontainer/170 - Windows Server 2003/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "2003" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/180 - Tiny11/devcontainer.json b/.devcontainer/180 - Tiny11/devcontainer.json index 225a746..cf91e35 100644 --- a/.devcontainer/180 - Tiny11/devcontainer.json +++ b/.devcontainer/180 - Tiny11/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "tiny11" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/190 - Tiny11 Core/devcontainer.json b/.devcontainer/190 - Tiny11 Core/devcontainer.json index 78da098..969072d 100644 --- a/.devcontainer/190 - Tiny11 Core/devcontainer.json +++ b/.devcontainer/190 - Tiny11 Core/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "core11" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/200 - Tiny11 Nano/devcontainer.json b/.devcontainer/200 - Tiny11 Nano/devcontainer.json index c7fdca9..cb35030 100644 --- a/.devcontainer/200 - Tiny11 Nano/devcontainer.json +++ b/.devcontainer/200 - Tiny11 Nano/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "nano11" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/210 - Tiny10/devcontainer.json b/.devcontainer/210 - Tiny10/devcontainer.json index 3df1b88..2111084 100644 --- a/.devcontainer/210 - Tiny10/devcontainer.json +++ b/.devcontainer/210 - Tiny10/devcontainer.json @@ -3,18 +3,17 @@ "service": "windows", "containerEnv": { "VERSION": "tiny10" - }, - "forwardPorts": [8006], + }, + "forwardPorts": [8006], "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" }, "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/.devcontainer/codespaces.yml b/.devcontainer/codespaces.yml index 85e3f64..02c57be 100644 --- a/.devcontainer/codespaces.yml +++ b/.devcontainer/codespaces.yml @@ -1,8 +1,9 @@ services: windows: + image: dockurr/windows container_name: windows - image: ghcr.io/dockur/windows environment: + ALLOCATE: "Y" RAM_SIZE: "half" DISK_SIZE: "max" CPU_CORES: "max" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d7c98a8..533b39e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -8,13 +8,12 @@ "portsAttributes": { "8006": { "label": "Web", - "onAutoForward": "notify" + "onAutoForward": "openBrowser" } }, "otherPortsAttributes": { "onAutoForward": "ignore" - }, + }, "dockerComposeFile": "codespaces.yml", - "workspaceFolder": "/workspaces/windows", "initializeCommand": "docker system prune --all --force" } diff --git a/Dockerfile b/Dockerfile index 7fef6a8..1f8a231 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ ARG VERSION_ARG="latest" FROM scratch AS build-amd64 -COPY --from=qemux/qemu:7.26 / / +COPY --from=qemux/qemu:7.25 / / ARG TARGETARCH ARG DEBCONF_NOWARNINGS="yes" diff --git a/src/define.sh b/src/define.sh index 3db2069..9198389 100644 --- a/src/define.sh +++ b/src/define.sh @@ -1108,14 +1108,14 @@ getLink4() { url="nano11_25h2/nano11%2025h2.iso" ;; "core11" ) - size=3176654848 - sum="29c055fcfb7b089abd9e007e7abe4bb82c70a03aac9d65e56a38b87ab32d04d2" - url="tiny11_25H2/tiny11core_25H2_Oct25.iso" + size=2159738880 + sum="78f0f44444ff95b97125b43e560a72e0d6ce0a665cf9f5573bf268191e5510c1" + url="tiny-11-core-x-64-beta-1/tiny11%20core%20x64%20beta%201.iso" ;; "tiny11" ) - size=5514559488 - sum="92484f2b7f707e42383294402a9eabbadeaa5ede80ac633390ae7f3537e36275" - url="tiny11_25H2/tiny11_25H2_Oct25.iso" + size=3788177408 + sum="a028800a91addc35d8ae22dce7459b67330f7d69d2f11c70f53c0fdffa5b4280" + url="tiny11-2311/tiny11%202311%20x64.iso" ;; "tiny10" ) size=3839819776 @@ -1123,9 +1123,9 @@ getLink4() { url="tiny-10-23-h2/tiny10%20x64%2023h2.iso" ;; "win11x64" ) - size=7736125440 - sum="d141f6030fed50f75e2b03e1eb2e53646c4b21e5386047cb860af5223f102a32" - url="W11x64_26200.6584/26200.6584.250915-1905.25h2_ge_release_svc_refresh_CLIENT_CONSUMER_x64FRE_en-us.iso" + size=5819484160 + sum="b56b911bf18a2ceaeb3904d87e7c770bdf92d3099599d61ac2497b91bf190b11" + url="windows-11-24h2-x64/Windows%2011%2024H2%20x64.iso" ;; "win11x64-enterprise" | "win11x64-enterprise-eval" ) size=6209064960 diff --git a/src/install.sh b/src/install.sh index f9bd402..50cf7ea 100644 --- a/src/install.sh +++ b/src/install.sh @@ -339,12 +339,10 @@ extractESD() { local dir="$2" local version="$3" local desc="$4" - local size size_gb sizes space space_gb - local desc total total1 total2 total3 total4 - local imageIndex links links1 links2 links3 links4 + local size size_gb space space_gb desc - local msg="Extracting $desc bootdisk" - info "$msg..." && html "$msg..." + local msg="Extracting $desc bootdisk..." + info "$msg" && html "$msg" if [ "$(stat -c%s "$iso")" -lt 100000000 ]; then error "Invalid ESD file: Size is smaller than 100 MB" && return 1 @@ -353,7 +351,7 @@ extractESD() { rm -rf "$dir" mkdir -p "$dir" - size=9606127360 + size=16106127360 size_gb=$(formatBytes "$size") space=$(df --output=avail -B 1 "$dir" | tail -n 1) space_gb=$(formatBytes "$space") @@ -369,68 +367,40 @@ extractESD() { error "Cannot read the image count in ESD file!" && return 1 fi - sizes=$(wimlib-imagex info "$iso" | grep "Total Bytes:") - links=$(wimlib-imagex info "$iso" | grep "Hard Link Bytes:") - - total1=$(awk "NR==1{ print; }" <<< "$sizes" | cut -d':' -f2 | sed 's/^ *//') - links1=$(awk "NR==1{ print; }" <<< "$links" | cut -d':' -f2 | sed 's/^ *//') - total=$(( total1 - links1 )) - - total3=$(awk "NR==3{ print; }" <<< "$sizes" | cut -d':' -f2 | sed 's/^ *//') - links3=$(awk "NR==3{ print; }" <<< "$links" | cut -d':' -f2 | sed 's/^ *//') - total3=$(( total3 - links3 )) - total3=$(( total3 + 60000000 )) - - /run/progress.sh "$dir" "$total" "$msg ([P])..." & - - imageIndex="1" - wimlib-imagex apply "$iso" "$imageIndex" "$dir" --quiet 2>/dev/null || { + wimlib-imagex apply "$iso" 1 "$dir" --quiet 2>/dev/null || { retVal=$? - fKill "progress.sh" - error "Extracting $desc bootdisk failed ($retVal)" && return 1 + error "Extracting $desc bootdisk failed" && return $retVal } - fKill "progress.sh" - local bootWimFile="$dir/sources/boot.wim" local installWimFile="$dir/sources/install.wim" - local msg="Extracting $desc environment" - info "$msg..." && html "$msg..." + local msg="Extracting $desc environment..." + info "$msg" && html "$msg" - imageIndex="2" - /run/progress.sh "$bootWimFile" "$total3" "$msg ([P])..." & - - wimlib-imagex export "$iso" "$imageIndex" "$bootWimFile" --compress=none --quiet || { + wimlib-imagex export "$iso" 2 "$bootWimFile" --compress=none --quiet || { retVal=$? - fKill "progress.sh" - error "Adding WinPE failed ($retVal)" && return 1 + error "Adding WinPE failed" && return ${retVal} } - local msg="Extracting $desc setup" - info "$msg..." + local msg="Extracting $desc setup..." + info "$msg" && html "$msg" - imageIndex="3" - /run/progress.sh "$bootWimFile" "$total3" "$msg ([P])..." & - - wimlib-imagex export "$iso" "$imageIndex" "$bootWimFile" --compress=none --boot --quiet || { + wimlib-imagex export "$iso" 3 "$bootWimFile" --compress=none --boot --quiet || { retVal=$? - fKill "progress.sh" - error "Adding Windows Setup failed ($retVal)" && return 1 + error "Adding Windows Setup failed" && return ${retVal} } - fKill "progress.sh" - if [[ "${PLATFORM,,}" == "x64" ]]; then LABEL="CCCOMA_X64FRE_EN-US_DV9" else LABEL="CPBA_A64FRE_EN-US_DV9" fi - local msg="Extracting $desc image" - info "$msg..." && html "$msg..." + local msg="Extracting $desc image..." + info "$msg" && html "$msg" - local edition imageEdition + local edition imageIndex imageEdition edition=$(getCatalog "$version" "name") if [ -z "$edition" ]; then @@ -438,27 +408,15 @@ extractESD() { fi for (( imageIndex=4; imageIndex<=esdImageCount; imageIndex++ )); do - - imageEdition=$(wimlib-imagex info "$iso" "$imageIndex" | grep '^Description:' | sed 's/Description:[ \t]*//') + imageEdition=$(wimlib-imagex info "$iso" ${imageIndex} | grep '^Description:' | sed 's/Description:[ \t]*//') [[ "${imageEdition,,}" != "${edition,,}" ]] && continue - - total4=$(du -sb "$iso" | cut -f1) - total4=$(( total4 + 3000000 )) - - /run/progress.sh "$installWimFile" "$total4" "$msg ([P])..." & - - wimlib-imagex export "$iso" "$imageIndex" "$installWimFile" --compress=LZMS --chunk-size 128K --quiet || { + wimlib-imagex export "$iso" ${imageIndex} "$installWimFile" --compress=LZMS --chunk-size 128K --quiet || { retVal=$? - fKill "progress.sh" - error "Addition of $imageIndex to the $desc image failed ($retVal)" && return 1 + error "Addition of $imageIndex to the $desc image failed" && return $retVal } - - fKill "progress.sh" return 0 - done - fKill "progress.sh" error "Failed to find product '$edition' in install.wim!" && return 1 } @@ -482,8 +440,8 @@ extractImage() { return 1 fi - local msg="Extracting $desc image" - info "$msg..." && html "$msg..." + local msg="Extracting $desc image..." + info "$msg" && html "$msg" rm -rf "$dir" mkdir -p "$dir" @@ -502,15 +460,11 @@ extractImage() { fi rm -rf "$dir" - /run/progress.sh "$dir" "$size" "$msg ([P])..." & if ! 7z x "$iso" -o"$dir" > /dev/null; then - fKill "progress.sh" error "Failed to extract ISO file: $iso" && return 1 fi - fKill "progress.sh" - if [[ "${UNPACK:-}" != [Yy1]* ]]; then LABEL=$(isoinfo -d -i "$iso" | sed -n 's/Volume id: //p') @@ -1123,8 +1077,8 @@ buildImage() { desc=$(printVersion "$DETECTED" "ISO") - local msg="Building $desc image" - info "$msg..." && html "$msg..." + local msg="Building $desc image..." + info "$msg" && html "$msg" [ -z "$LABEL" ] && LABEL="Windows" @@ -1141,8 +1095,6 @@ buildImage() { error "Not enough free space in $STORAGE, have $space_gb available but need at least $size_gb." && return 1 fi - /run/progress.sh "$out" "$size" "$msg ([P])..." & - 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}" \ @@ -1163,8 +1115,6 @@ buildImage() { fi - fKill "progress.sh" - if [ -n "$failed" ]; then [ -s "$log" ] && echo "$(<"$log")" error "Failed to build image!" && return 1 diff --git a/src/power.sh b/src/power.sh index 8acb57b..1c2c223 100644 --- a/src/power.sh +++ b/src/power.sh @@ -74,7 +74,6 @@ ready() { finish() { local pid - local cnt=0 local reason=$1 touch "$QEMU_END" @@ -82,24 +81,14 @@ finish() { if [ -s "$QEMU_PID" ]; then pid=$(<"$QEMU_PID") - echo && error "Forcefully terminating Windows, reason: $reason..." + error "Forcefully terminating Windows, reason: $reason..." { kill -15 "$pid" || true; } 2>/dev/null while isAlive "$pid"; do - sleep 1 - cnt=$((cnt+1)) - # Workaround for zombie pid [ ! -s "$QEMU_PID" ] && break - - if [ "$cnt" == "5" ]; then - echo && error "QEMU did not terminate itself, forcefully killing process..." - { kill -9 "$pid" || true; } 2>/dev/null - fi - done - fi if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$BOOT" ]; then