[ FloppyBootCD — Documentation ]
FloppyBootCD
FloppyBootCD turns old boot floppy images into a bootable CD. You feed it one
or more floppy images, it builds a boot menu with one entry per image, and it
writes a bootable ISO you can burn to a CD-R or attach to a VM. It uses
xorriso to do the El Torito work and bundles a known-good xorriso so you do
not have to chase down dependencies.
It is useful when you have 90s hardware that boots from CD but no longer has a working floppy drive, which by now is most of it.
There is a GUI and a real CLI. The GUI is the main way to use it; the CLI is there for scripting and headless builds.
What it does
- Takes floppy images: raw
.img,.ima,.vfd,.flpin any common size (360 KB through 2.88 MB and up), plus WinImage.imz(ZIP-compressed, extracted at build time). - Builds a boot menu, text or graphical, with one entry per image.
- Emits a bootable El Torito ISO 9660 disc image.
- Shows a live CD-R capacity meter in the status bar so you can see your project's total against the 700 MiB budget before you build, with warnings as you get close.
- Burns the ISO to physical media with your platform's native burner:
hdiutil burnon macOS,isoburn.exeon Windows,xorriso -as cdrecordon Linux.
The syslinux pieces the boot menu needs (isolinux.bin, menu.c32, and
friends) are downloaded from kernel.org on the first build and cached locally.
No manual setup.
Install
The fastest path is a prebuilt binary. No Python, no pip, no uv.
Prebuilt binary (recommended)
Grab the build for your platform from the
Releases page.
xorriso is already inside every prebuilt, so there is nothing else to
install.
macOS. Pick macos-universal2 if you are not sure which Mac you have; it
runs natively on both Apple Silicon and Intel. The app is unsigned, and macOS 15
blocks unsigned downloads outright, so strip the quarantine flag once before the
first launch:
xattr -dr com.apple.quarantine FloppyBootCD.app
Then move it wherever you like and open it.
Windows. Unzip it somewhere (for example C:\Tools\) and run it. There are
separate x86_64 and ARM64 builds; the ARM64 build runs the x86_64 xorriso
under Windows 11's built-in x64 emulator, which is the supported setup.
Linux. Four formats, pick one:
.AppImage, universal, no install.chmod +xit and run..debfor Debian, Ubuntu, Raspberry Pi OS, Mint, Pop!_OS..rpmfor Fedora, RHEL, Rocky, Alma, openSUSE.- a raw
.tar.gz, any distro, no package manager.
The x86_64 build needs glibc 2.35 or newer (Ubuntu 22.04, Debian 12, Fedora 36). The ARM64 build needs glibc 2.39 (Ubuntu 24.04, Debian 13). Older distros should install from source.
From source (uv)
Works on any platform with Python. Install uv,
install xorriso, then install FloppyBootCD as a uv tool:
uv tool install floppybootcd
xorriso is the one system dependency when you install from source:
- macOS:
brew install xorriso - Debian / Ubuntu / Raspberry Pi OS:
sudo apt install xorriso - Fedora / RHEL:
sudo dnf install xorriso - Arch:
sudo pacman -S libisoburn - Windows:
scoop install xorriso
Using the GUI
Launch the app (or run floppybootcd with no arguments). The flow is:
- Add your floppy images. Drag them in, or use the Add button. Drop a folder and it picks up the images inside.
- Edit the menu label for each entry if you want something friendlier than the filename.
- Reorder the entries and pick which one boots by default.
- Watch the capacity meter so you stay under 700 MiB.
- Build the ISO, then burn it or attach it to a VM.
Projects save as .fbcd files, so you can come back and rebuild or tweak a
collection later.
Using the CLI
floppybootcd [PATH ...] launch the GUI, optionally opening paths
floppybootcd gui [PATH ...] explicit GUI launch
floppybootcd validate <project.fbcd> run the pre-build project checks
floppybootcd inspect <project.fbcd> [--json] print a project summary
floppybootcd build <project.fbcd> <out.iso> build an ISO without the GUI
floppybootcd --help
floppybootcd --version
build takes two options: --xorriso <path> to use a specific xorriso, and
--keep-staging to leave the temporary build directory in place for debugging.
Examples:
# Validate a project in a script
floppybootcd validate my-collection.fbcd
# Machine-readable summary
floppybootcd inspect my-collection.fbcd --json
# Headless build
floppybootcd build my-collection.fbcd ./dist/my-collection.iso
Exit codes: 0 success, 1 a command failure such as a load or build error,
2 validation failed or a CLI usage error.