ventoy-extras/README.md
Laurence Horrocks-Barlow 74b210a702 Add README, runbook, per-script docs, CHANGELOG and LICENSE.
Documents the organise-isos and generate-ventoy-json workflow end-to-end:
quick start in the README, full procedure with troubleshooting and recovery
in docs/RUNBOOK.md, and reference docs for each script covering parameters,
parsing rules, category groupings, and extensibility. Ships a YOLO licence
(no warranty) and seeds CHANGELOG.md for the v0.1.0 release.
2026-05-21 10:33:10 +01:00

72 lines
2.5 KiB
Markdown

# ventoy-extras
PowerShell helpers for keeping a tidy [Ventoy](https://www.ventoy.net/) USB
drive. Drops a pile of randomly-named ISOs into a sensible directory tree, then
generates a categorised `ventoy.json` so the boot menu groups them by OS family
instead of vomiting one flat list.
Two scripts, no dependencies beyond Windows PowerShell 5.1 (or PowerShell 7+).
## Scripts
| Script | Purpose |
| --- | --- |
| [`organise-isos.ps1`](organise-isos.ps1) | Parse ISO filenames, infer `os/version/arch`, move into `iso-library\<os>\<version>\<arch>\` |
| [`generate-ventoy-json.ps1`](generate-ventoy-json.ps1) | Walk that tree and emit `ventoy.json` with a per-family submenu structure |
## Quick start
```powershell
# 1. Drop all your downloaded ISOs into a working directory, then:
.\organise-isos.ps1 -SourceDir .\downloads -DestDir .\iso-library -DryRun
# Review the planned moves, then re-run without -DryRun
.\organise-isos.ps1 -SourceDir .\downloads -DestDir .\iso-library
# 2. Generate the ventoy menu config:
.\generate-ventoy-json.ps1 -IsoRoot .\iso-library -OutFile .\ventoy.json
# 3. Copy iso-library\ to the root of your Ventoy USB, and copy
# ventoy.json into the ventoy\ folder on that same drive.
```
That's the whole workflow. See [`docs/RUNBOOK.md`](docs/RUNBOOK.md) for the
detailed operational walkthrough, and the per-script docs for the gory bits.
## Documentation
- [`docs/RUNBOOK.md`](docs/RUNBOOK.md) — end-to-end procedure, troubleshooting, recovery
- [`docs/organise-isos.md`](docs/organise-isos.md) — parameters, naming rules, OS detection map
- [`docs/generate-ventoy-json.md`](docs/generate-ventoy-json.md) — parameters, category groupings, menu layout
- [`docs/directory-layout.md`](docs/directory-layout.md) — what the on-disk tree looks like and why
## Directory layout produced
```
iso-library\
ubuntu\
24.04\
x86_64\
ubuntu-24.04.1-desktop-amd64.iso
debian\
12\
x86_64\
debian-12.5.0-amd64-netinst.iso
rocky\
9\
aarch64\
Rocky-9.3-aarch64-minimal.iso
...
```
Three levels: OS slug, version, architecture. Ventoy follows directories
transparently, so the same tree is what ends up on the USB.
## Requirements
- Windows PowerShell 5.1 or PowerShell 7+
- A Ventoy USB drive (set up separately — see [ventoy.net](https://www.ventoy.net/))
- Enough disk space to hold your ISO collection twice during reorganisation
## License
[YOLO LICENSE](LICENSE) — do whatever you want with it, no warranty, things may blow up.