Repository navigation
v1.1.0
FloppyBootCD v1.1.0 — bundled xorriso + ARM64 prebuilts
The headline change in v1.1.0: every prebuilt binary now ships with xorriso already inside, and we now publish prebuilts for both Linux ARM64 and Windows ARM64.
If you've been hitting "install xorriso first" friction on Windows or macOS, or running FloppyBootCD on a Raspberry Pi 4/5 / AWS Graviton / Apple Silicon Linux / Windows on ARM device — this release is for you.
What's new
🚀 Bundled xorriso on every platform
Prior versions required a separate brew install xorriso / apt install xorriso / scoop install xorriso step before the prebuilt binary could do anything useful. With v1.1.0:
| Platform | xorriso bundled? |
|---|---|
| macOS arm64 (Apple Silicon) | ✅ native arm64 build (Homebrew + dylibbundler) |
| macOS x86_64 (Intel) | ✅ native x86_64 build (Homebrew + dylibbundler) |
| Windows x86_64 | ✅ native build (MSYS2 mingw-w64 libisoburn) |
| Windows ARM64 | ✅ x86_64 build, runs under Windows 11's built-in x64 emulator |
| Linux x86_64 | ✅ native build (apt + patchelf RPATH $ORIGIN/lib) |
| Linux ARM64 | ✅ native build (apt + patchelf RPATH $ORIGIN/lib) |
xorriso is shipped under GPLv3 — see THIRD_PARTY_NOTICES.md for the upstream source URL, the mere-aggregation rationale, and the 3-year written source-offer. FloppyBootCD itself remains MIT.
🔌 New: ARM64 prebuilts
Two new artifacts:
| Bundle | Targets |
|---|---|
floppybootcd-1.1.0-linux-arm64.tar.gz |
Raspberry Pi 3 / 4 / 5 / CM3+ / CM4 / Zero 2 W (64-bit OS), AWS Graviton, Ampere Altra, Apple Silicon under Linux, any other aarch64 box |
floppybootcd-1.1.0-windows-arm64.zip |
Surface Pro X / Pro 9 / Snapdragon X / Copilot+ PCs running Windows 11 on ARM |
📋 Crystal-clear OS support
The README now has an explicit Supported operating systems table with concrete minimum versions per artifact, plus a Raspberry Pi compatibility table mapping each Pi model to the right download.
| Bundle | Minimum supported version |
|---|---|
macos-arm64 / macos-x86_64 |
macOS 13 (Ventura) |
windows-x86_64 |
Windows 10 1809 (Oct 2018) |
windows-arm64 |
Windows 11 22H2 |
linux-x86_64 |
glibc 2.34 (Ubuntu 22.04 / Debian 12 / RHEL 9 / Fedora 36+ / Raspberry Pi OS Bookworm) |
linux-arm64 |
glibc 2.39 (Ubuntu 24.04 / Debian 13 Trixie / Fedora 40+ / RHEL 10) |
The linux-arm64 glibc 2.39 floor comes from PySide6's manylinux_2_39_aarch64 wheel — for older ARM64 distros (notably Raspberry Pi OS Bookworm with glibc 2.36), install from source via uv, which uses piwheels for PySide6.
🛣️ Roadmap section
The README has a new Roadmap section with the concrete blockers for:
- 32-bit ARM Linux (armhf / armv7l) for older Raspberry Pis
- 32-bit Windows (Win32) and 32-bit Linux (i686 / i386)
- Native ARM64 Windows xorriso build
- Code-signed / notarized macOS / Windows binaries
- AppImage / Flatpak Linux distributions
Short version: the blocker for 32-bit support is upstream PySide6 wheel availability (PyPI ships only x86_64 + aarch64 + Windows x86_64 + Windows ARM64). Building Qt + PySide6 from source for 32-bit targets is multi-hour CI work and not on the table for v1.1.x.
Download
Self-contained bundles for every supported platform:
| Platform | File |
|---|---|
| macOS (Apple Silicon) | floppybootcd-1.1.0-macos-arm64.zip |
| macOS (Intel) | floppybootcd-1.1.0-macos-x86_64.zip |
| Windows (x86_64) | floppybootcd-1.1.0-windows-x86_64.zip |
| Windows (ARM64) | floppybootcd-1.1.0-windows-arm64.zip |
| Linux (x86_64) | floppybootcd-1.1.0-linux-x86_64.tar.gz |
| Linux (ARM64) | floppybootcd-1.1.0-linux-arm64.tar.gz |
Or install from source:
uv tool install git+https://github.com/pacnpal/floppybootcdSee the README for per-platform setup and the macOS Gatekeeper workaround.
How the bundling works under the hood
Each platform has its own staging recipe in .github/workflows/release.yml:
- Linux —
apt install xorriso patchelf, thencp /usr/bin/xorriso bin/,lddto find non-glibc deps, copy them intobin/lib/, andpatchelf --set-rpath '$ORIGIN/lib'so the bundled binary finds its libs withoutLD_LIBRARY_PATH. glibc-family libs (libc,ld-linux,libpthread,libdl,libm,librt,libnsl,linux-vdso) are deliberately not copied — those load from the host so we don't ship a glibc that mismatches the kernel. - macOS —
brew install xorriso dylibbundler, thendylibbundler -od -b -x bin/xorriso -d bin/libs -p '@executable_path/libs/'rewrites every dylib reference to@executable_path/libs/<dylib>. At runtime,@executable_pathresolves to the directory ofxorriso(inside the .app bundle'sContents/Resources/bin/), and the loader finds everything next door. - Windows —
mingw-w64-x86_64-libisoburnfrom MSYS2, thenlddoverxorriso.exeto find every MinGW DLL it depends on, copy them next toxorriso.exe. Windows DLL search order finds them automatically because they share the directory. - Windows ARM64 — uses the same x86_64 staging output. Windows 11 on ARM ships an x64 emulator that runs the bundled binary fine for our subprocess use case. A native ARM64 xorriso build is on the Roadmap once
mingw-w64-aarch64-libisoburnlands upstream.
At runtime, floppybootcd/core/iso_builder.py searches for the bundled xorriso first (in sys._MEIPASS/bin, beside sys.executable, and inside the macOS .app's Contents/Resources/bin and Contents/Frameworks/bin) before falling back to the system PATH. The Linux burner backend uses the same lookup so the bundled xorriso also drives the xorriso -as cdrecord burn path.
License
FloppyBootCD: MIT.
Bundled third-party software:
- xorriso (GNU GPLv3) — see
LICENSE-xorrisoandTHIRD_PARTY_NOTICES.md - PySide6 + Qt 6 (LGPL-3.0-only with Qt LGPL exception)
- CPython runtime (PSF License v2)
Both files are included inside every release artifact.
Upgrade notes from v1.0.0
- If you previously installed xorriso just for FloppyBootCD, you can
brew uninstall xorriso/scoop uninstall xorriso/sudo apt remove xorriso— the new prebuilts include their own copy. (You can keep the system one too; FloppyBootCD will prefer the bundled one but doesn't conflict.) - macOS users on macOS 12 (Monterey) or earlier need to install from source — v1.1.0 prebuilts now baseline macOS 13.
- Linux ARM64 users on Raspberry Pi OS Bookworm (glibc 2.36) cannot run the prebuilt — install from source via
uv. This was a hidden constraint in v1.0.0 (which had no ARM64 prebuilt at all); now it's documented.