M
hanzo@bushidocyber ~ % man multus

Multus

Put many Linux install/live ISOs on one USB stick and pick which to boot — a clean-room GRUB2 multiboot builder, by copying files, with no reinstall and no extraction.

Boot USB GRUB2UEFI + BIOSDesktop appCLI

What it is

Multus turns one USB stick into a GRUB2 multiboot launcher for your collection of Linux ISOs — both live and installer-class. Drop .iso files onto the stick and Multus builds a graphical, arrow-key boot menu listing every one, each tagged with the distro family it detected. Pick one, press Enter, it boots — on UEFI or legacy BIOS.

No reinstall, no extraction, no per-ISO regeneration step. You add an ISO by copying a file; it appears at the next boot. The build is clean-room on GRUB2 — read the source.

How it works

The stick is laid out as three partitions — a tiny BIOS-boot stub, a FAT32 EFI System partition holding GRUB and the menu, and a large data partition where your ISOs live in /ISO:

1 — 1 MiBBIOS boot (GRUB core for legacy BIOS)
2 — 128 MiBEFI System (FAT32) — GRUB + the boot menu
3 — restext4 (default) or exFAT — your ISOs in /ISO

At boot, GRUB scans /ISO (and one level of subfolders), inspects each ISO to detect its distro family, and builds the menu on the fly — add an ISO, it shows up next boot.

Pick ext4 for the data partition

The installer asks which filesystem to use for your ISOs. Choose ext4 — the recommended default.

  • Most ISOs need it — casper (Ubuntu/Mint/Pop), live-boot (Debian/Kali/MX), dracut (Fedora/RHEL) and Debian-installer initrds can't mount exFAT/NTFS, so on exFAT they can't re-find the ISO and won't boot.
  • Holds big ISOs — ext4 has no 4 GiB per-file limit.
  • exFAT only buys cross-OS copy convenience — and only suits a minority of ISOs (e.g. Arch). Its downside on ext4: Windows/macOS can't natively write to it, so copy ISOs from a Linux box.

Two ways to drive it

app Desktop app

  • macOS + Linux (Tauri)
  • Etcher-style window
  • build a stick, add / manage ISOs
  • bundles its own tools — no Homebrew

cli multus-cli

  • Linux, headless
  • packaged as .deb / .rpm
  • same engine as the app
  • privileged actions re-run under sudo

Linux is the primary platform; macOS is supported (UEFI-only) via the app or installer/install-macos.sh. Both front-ends drive the same underlying build engine, so staging and behaviour are identical.

Install

The desktop app is the recommended way on both macOS and Linux — grab the unsigned .dmg (macOS) or native .deb/.rpm (Linux) from CI. Prefer a terminal on Linux? Install multus-cli with your package manager so it resolves the engine's dependencies (GRUB, xorriso, e2fsprogs, …):

sudo dnf install ./multus-cli-*.rpm   # Fedora / RHEL / Rocky
sudo apt install ./multus-cli_*.deb   # Debian / Ubuntu

Use apt install ./… / dnf install ./… (with the leading ./) — not dpkg -i / rpm -i, which skip the declared dependencies and leave Multus unable to stage installers.

Usage

The CLI is a thin wrapper over the same engine the app drives — auto-detects the stick when exactly one is plugged in:

multus-cli --build /dev/sdX --iso path/to.iso --yes  # build a stick (ERASES /dev/sdX)
multus-cli --add-iso path/to.iso                     # copy ISO(s) into /ISO
multus-cli --remove-iso NAME.iso                     # delete ISO(s) from /ISO
multus-cli --list                                    # list ISOs on a Multus stick
multus-cli --list-drives                             # show removable / USB disks
multus-cli --help                                    # full synopsis

Or drive the underlying Linux build engine directly:

sudo installer/install.sh /dev/sdX   # /dev/sdX = your USB, ALL DATA ERASED

Requirements

Linux buildgrub-install/grub2-install, sfdisk, mkfs.vfat, and mkfs.ext4 (or mkfs.exfat)
macOSDesktop app bundles its tools; the CLI installer uses a Homebrew GRUB toolchain + diskutil
LicenseGNU GPLv3 — free and open source

Get it running

Clone the repo, then build a stick with the app or the Linux installer:

git clone https://github.com/BushidoCyb3r/multus.git
cd multus
sudo installer/install.sh /dev/sdX   # then copy ISOs into the MULTUSDATA /ISO folder

Building a stick ERASES the target device. Double-check /dev/sdX is your USB. Full docs, the desktop app, and distro support status are in the README.

M

One stick, every ISO

Drop your Linux ISOs on a USB and boot any of them from a graphical GRUB2 menu — UEFI or BIOS, by copying files, no reinstall.