Repository navigation
Releases
QEMU 11.1.3 portable rebuild 62 (native)
Fix Windows ARM64 arch detection: use $MSYSTEM, not uname (#9)
- Fix Windows ARM64 arch detection: use $MSYSTEM, not uname
On the windows-11-arm runner the MSYS2 runtime is an x86_64 build
running under emulation, so uname -m reports x86_64 even though the
host and the compiled exes are aarch64. Everything keyed off uname went
x86_64:
- build-qemu-common.sh chose target-list=x86_64-softmmu, so the
win-arm64 leg shipped qemu-system-x86_64.exe with no
qemu-system-aarch64.exe, which the README ARM64 quick start requires - package-qemu-windows.sh named the zip qemu-portable-win-x64-CLANGARM64
instead of qemu-portable-win-arm64-CLANGARM64 - smoke-qemu.sh picked the x86_64 binary, so the leg validated itself
green - BUILD-INFO recorded runner_arch=x86_64 for an ARM64 build
$MSYSTEM is correct on that runner (CLANGARM64) and already drives the
toolchain choice, so derive HOST_ARCH from it in the build, package, and
smoke scripts plus the BUILD-INFO manifest, falling back to uname -m
elsewhere. QEMU's own configure detects the host from compiler defines,
not uname, so aarch64-softmmu remains a native build there.
README accuracy pass: scope the coverage line to QEMU, state wimlib's
real archive pattern (it has a - segment on Windows) and coverage
(every leg except Windows ARM64), and note that the macOS quarantine
caveat applies to browser downloads only.
- Extract host architecture detection into scripts/get-host-arch.sh
Portable zero-install QEMU 11.1.3 (native targets).
- Native: host-arch emulator only (x86_64 on Intel, aarch64 on ARM) + qemu-img + SeaBIOS/EDK2 firmware. No arch mixing.
- Both (
targets=both): x86_64 + aarch64 emulators on every host (run foreign-arch guests via software emulation). - Full (
targets=all): all softmmu emulators (FreeBSD/other arches). - Accel: KVM (Linux) / HVF (macOS) / WHPX (Windows) + TCG fallback. Headless via
-display none -nographic. - Layout: extract and run: Linux/macOS
./qemu-portable/bin/qemu-system-<arch> --version(x86_64 on Intel, aarch64 on ARM); Windowsqemu-system-x86_64.exe(x64) orqemu-system-aarch64.exe(ARM64) from the extracted folder root (exes sit at the top level, nobin/). No installer/admin needed. - Linux built on a digest-pinned container (glibc 2.35 floor; see BUILD-INFO-*.txt for the exact image digest and toolchain); macOS adhoc-signed for local HVF (
xattr -d com.apple.quarantinemay be needed after download); Windows is SDL-only (no GTK assets), exes + DLLs at the zip root. - Each archive is accompanied by a
BUILD-INFO-<platform>.txtprovenance record (commit, runner image, compiler, container digest).
wimlib 1.14.5 portable rebuild 50
Add Windows ARM64 support to QEMU portable build workflow (#8)
-
Add code reviewer template
-
Add Windows ARM64 support to QEMU portable build workflow
-
Document Windows ARM64 WHPX OS requirement and clarify Linux/macOS paths
-
Add Linux ARM64 and macOS examples to README
-
Update Windows and ARM64 headless boot examples with UEFI firmware
-
Increase QEMU build timeout and upload ninja file on timeout
Portable zero-install wimlib 1.14.5 (wimlib-imagex + bundled libs).
Overlays onto qemu-portable: copy bin/wimlib-imagex (Linux/macOS) or wimlib-imagex.exe (Windows, extracted folder root with no bin/) next to the qemu binaries.
Built from pinned source (https://wimlib.net/downloads); no admin/install needed.
macOS adhoc-signed (xattr -cr may be needed after download).
Each archive ships with a BUILD-INFO-wimlib-<platform>.txt provenance record.
QEMU 11.1.3 portable rebuild 59 (native)
Add Windows ARM64 support to QEMU portable build workflow (#8)
-
Add code reviewer template
-
Add Windows ARM64 support to QEMU portable build workflow
-
Document Windows ARM64 WHPX OS requirement and clarify Linux/macOS paths
-
Add Linux ARM64 and macOS examples to README
-
Update Windows and ARM64 headless boot examples with UEFI firmware
-
Increase QEMU build timeout and upload ninja file on timeout
Portable zero-install QEMU 11.1.3 (native targets).
- Native: host-arch emulator only (x86_64 on Intel, aarch64 on ARM) + qemu-img + SeaBIOS/EDK2 firmware. No arch mixing.
- Both (
targets=both): x86_64 + aarch64 emulators on every host (run foreign-arch guests via software emulation). - Full (
targets=all): all softmmu emulators (FreeBSD/other arches). - Accel: KVM (Linux) / HVF (macOS) / WHPX (Windows) + TCG fallback. Headless via
-display none -nographic. - Layout: extract and run: Linux/macOS
./qemu-portable/bin/qemu-system-<arch> --version(x86_64 on Intel, aarch64 on ARM); Windowsqemu-system-x86_64.exe(x64) orqemu-system-aarch64.exe(ARM64) from the extracted folder root (exes sit at the top level, nobin/). No installer/admin needed. - Linux built on a digest-pinned container (glibc 2.35 floor; see BUILD-INFO-*.txt for the exact image digest and toolchain); macOS adhoc-signed for local HVF (
xattr -d com.apple.quarantinemay be needed after download); Windows is SDL-only (no GTK assets), exes + DLLs at the zip root. - Each archive is accompanied by a
BUILD-INFO-<platform>.txtprovenance record (commit, runner image, compiler, container digest).
QEMU 11.1.3 portable (native)
Portable zero-install QEMU 11.1.3 (native targets).
- Native: host-arch emulator only (x86_64 on Intel, aarch64 on ARM) + qemu-img + SeaBIOS/EDK2 firmware. No arch mixing.
- Both (
targets=both): x86_64 + aarch64 emulators on every host (run foreign-arch guests via software emulation). - Full (
targets=all): all softmmu emulators (FreeBSD/other arches). - Accel: KVM (Linux) / HVF (macOS) / WHPX (Windows) + TCG fallback. Headless via
-display none -nographic. - Layout: extract and run: Linux/macOS
./qemu-portable/bin/qemu-system-x86_64 --version; Windowsqemu-system-x86_64.exe --versionfrom the extracted folder root (exes sit at the top level, nobin/). No installer/admin needed. - Linux built on a digest-pinned container (glibc 2.35 floor; see BUILD-INFO-*.txt for the exact image digest and toolchain); macOS adhoc-signed for local HVF (
xattr -d com.apple.quarantinemay be needed after download); Windows is SDL-only (no GTK assets), exes + DLLs at the zip root. - Each archive is accompanied by a
BUILD-INFO-<platform>.txtprovenance record (commit, runner image, compiler, container digest).
virtio-win driver pack (drivers-20261109)
Verified mirror of the virtio-win driver ISO (virtio-win.iso + virtio-win.iso.sha256 + SOURCES.txt) rsynced from fedorapeople stable-virtio.
For headless Windows installs: attach as a second cdrom alongside the installer ISO and your Autounattend.xml drive.
Drop-in replacement for fetching from upstream at install time.
virtio-win driver pack (drivers-20261102)
Verified mirror of the virtio-win driver ISO (virtio-win.iso + virtio-win.iso.sha256 + SOURCES.txt) rsynced from fedorapeople stable-virtio.
For headless Windows installs: attach as a second cdrom alongside the installer ISO and your Autounattend.xml drive.
Drop-in replacement for fetching from upstream at install time.
wimlib 1.14.5 portable rebuild 39
Switch Linux build baseline Debian 12 → Ubuntu 22.04 (glibc 2.36 → 2.35) (#4)
Lowers the Linux glibc floor from 2.36 to 2.35 so binaries run on Ubuntu
22.04+ (previously excluded) and everything newer. Debian 11 (2.31) was
evaluated first and rejected: its bullseye-security pool 404s in CI
(LTS wind-down) and its GCC 10.2 fails QEMU 11's >=10.4 configure gate.
Jammy's gcc 11.4, glib 2.72, and python 3.10 all meet QEMU 11 minimums
with the stock apt workflow.
The older userland needed backports QEMU 11 demands: pinned nettle 3.10.2
- gnutls 3.8.13 built from source (SHA256-verified) into /opt/qemudeps,
plus python3-tomli (3.10 lacks tomllib), cmake, libcbor-dev, m4, and the
gnutls -dev closure (gmp, idn2, p11-kit, tasn1, unistring). The existing
ldd-closure bundles the resulting .so files, keeping the 2.35 floor; the
packager prioritizes /opt/qemudeps via LD_LIBRARY_PATH so same-SONAME
system libs (libnettle 3.7) can't shadow the built ones (3.10) — that
mismatch failed smoke with undefined symbol: nettle_hmac_sm3_digest.
So the floor can't silently regress again: fail-closed
check-glibc-baseline.sh runs readelf over every shipped ELF at package
time; GLIBC_FLOOR is single-sourced from select-platforms.py into
packaging, BUILD-INFO, and release notes; verify-doc-floors.sh gates the
prose in CI. wimlib Linux legs get the same .so bundling treatment
(previously raw system-dep passthrough, which would have linked
unshippable OpenSSL 1.1 on bullseye-era bases).
Portable zero-install wimlib 1.14.5 (wimlib-imagex + bundled libs).
Overlays onto qemu-portable: copy bin/wimlib-imagex (Linux/macOS) or wimlib-imagex.exe (Windows, extracted folder root with no bin/) next to the qemu binaries.
Built from pinned source (https://wimlib.net/downloads); no admin/install needed.
macOS adhoc-signed (xattr -cr may be needed after download).
Each archive ships with a BUILD-INFO-wimlib-<platform>.txt provenance record.
wimlib 1.14.5 portable rebuild 27
Share platform matrix logic via scripts/select-platforms.py
Portable zero-install wimlib 1.14.5 (wimlib-imagex + bundled libs).
Overlays onto qemu-portable: copy bin/wimlib-imagex (Linux/macOS) or wimlib-imagex.exe (Windows, extracted folder root with no bin/) next to the qemu binaries.
Built from pinned source (https://wimlib.net/downloads); no admin/install needed.
macOS adhoc-signed (xattr -cr may be needed after download).
Each archive ships with a BUILD-INFO-wimlib-<platform>.txt provenance record.
QEMU 11.1.2 portable (native)
Portable zero-install QEMU 11.1.2 (native targets).
- Native: host-arch emulator only (x86_64 on Intel, aarch64 on ARM) + qemu-img + SeaBIOS/EDK2 firmware. No arch mixing.
- Both (
targets=both): x86_64 + aarch64 emulators on every host (run foreign-arch guests via software emulation). - Full (
targets=all): all softmmu emulators (FreeBSD/other arches). - Accel: KVM (Linux) / HVF (macOS) / WHPX (Windows) + TCG fallback. Headless via
-display none -nographic. - Layout: extract and run: Linux/macOS
./qemu-portable/bin/qemu-system-x86_64 --version; Windowsqemu-system-x86_64.exe --versionfrom the extracted folder root (exes sit at the top level, nobin/). No installer/admin needed. - Linux built on a digest-pinned container (glibc 2.35 floor; see BUILD-INFO-*.txt for the exact image digest and toolchain); macOS adhoc-signed for local HVF (
xattr -d com.apple.quarantinemay be needed after download); Windows is SDL-only (no GTK assets), exes + DLLs at the zip root. - Each archive is accompanied by a
BUILD-INFO-<platform>.txtprovenance record (commit, runner image, compiler, container digest).
QEMU 11.1.1 portable rebuild 48 (native)
Switch Linux build baseline Debian 12 → Ubuntu 22.04 (glibc 2.36 → 2.35) (#4)
Lowers the Linux glibc floor from 2.36 to 2.35 so binaries run on Ubuntu
22.04+ (previously excluded) and everything newer. Debian 11 (2.31) was
evaluated first and rejected: its bullseye-security pool 404s in CI
(LTS wind-down) and its GCC 10.2 fails QEMU 11's >=10.4 configure gate.
Jammy's gcc 11.4, glib 2.72, and python 3.10 all meet QEMU 11 minimums
with the stock apt workflow.
The older userland needed backports QEMU 11 demands: pinned nettle 3.10.2
- gnutls 3.8.13 built from source (SHA256-verified) into /opt/qemudeps,
plus python3-tomli (3.10 lacks tomllib), cmake, libcbor-dev, m4, and the
gnutls -dev closure (gmp, idn2, p11-kit, tasn1, unistring). The existing
ldd-closure bundles the resulting .so files, keeping the 2.35 floor; the
packager prioritizes /opt/qemudeps via LD_LIBRARY_PATH so same-SONAME
system libs (libnettle 3.7) can't shadow the built ones (3.10) — that
mismatch failed smoke with undefined symbol: nettle_hmac_sm3_digest.
So the floor can't silently regress again: fail-closed
check-glibc-baseline.sh runs readelf over every shipped ELF at package
time; GLIBC_FLOOR is single-sourced from select-platforms.py into
packaging, BUILD-INFO, and release notes; verify-doc-floors.sh gates the
prose in CI. wimlib Linux legs get the same .so bundling treatment
(previously raw system-dep passthrough, which would have linked
unshippable OpenSSL 1.1 on bullseye-era bases).
Portable zero-install QEMU 11.1.1 (native targets).
- Native: host-arch emulator only (x86_64 on Intel, aarch64 on ARM) + qemu-img + SeaBIOS/EDK2 firmware. No arch mixing.
- Both (
targets=both): x86_64 + aarch64 emulators on every host (run foreign-arch guests via software emulation). - Full (
targets=all): all softmmu emulators (FreeBSD/other arches). - Accel: KVM (Linux) / HVF (macOS) / WHPX (Windows) + TCG fallback. Headless via
-display none -nographic. - Layout: extract and run: Linux/macOS
./qemu-portable/bin/qemu-system-x86_64 --version; Windowsqemu-system-x86_64.exe --versionfrom the extracted folder root (exes sit at the top level, nobin/). No installer/admin needed. - Linux built on a digest-pinned container (glibc 2.35 floor; see BUILD-INFO-*.txt for the exact image digest and toolchain); macOS adhoc-signed for local HVF (
xattr -d com.apple.quarantinemay be needed after download); Windows is SDL-only (no GTK assets), exes + DLLs at the zip root. - Each archive is accompanied by a
BUILD-INFO-<platform>.txtprovenance record (commit, runner image, compiler, container digest).