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.
This commit is contained in:
parent
0c06a1483c
commit
74b210a702
7 changed files with 718 additions and 0 deletions
72
README.md
Normal file
72
README.md
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
# 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue