Ventoy 1.1.18 sources and Paravis patches

This commit is contained in:
paravis committed 2026-11-07 20:37:46 +03:00
commit cd02c606e6
187 files changed
+94477

No files matched your search

+92
View File
@@ -0,0 +1,92 @@
# Ventoy for PARAVIS Flash
Ventoy 1.1.18 sources and Paravis changes used on the PARAVIS multiboot USB
flash.
The PARAVIS flash uses a non-standard partition layout, so Ventoy has to be
patched to find the data (ISO) partition dynamically instead of assuming
partition 1:
| # | Size | File system | Label | Purpose |
|---|------|-------------|-------|---------|
| 1 | 16 GB | FAT32 | `PARAVIS` | main boot partition (bootmgr / g4d) |
| 2 | 32 MB | FAT | `VTOYEFI` | Ventoy EFI partition |
| 3 | rest − 3 MB | exFAT | `DATA` | images and data |
The data partition is detected by the marker file `/ISO/Ventoy/NOT.DEL`.
## Repository layout
```
Ventoy-src/ upstream Ventoy 1.1.18 source tree (GPLv3)
paravis/
patch_ventoy_layout.py GRUB2 source patches for the custom layout
patch_ventoy_grubcfg.py grub.cfg patch (marker-based data partition)
patch_ventoy_hook.py initramfs hook patch for non-partition-1 data
patch_vtoyjump.py vtoyjump32/64 MBr marker check bypass
patch-ventoy-lang.sh default menu language -> ru_RU
build-theme-main.py builds the GRUB theme from a PSD layout
theme/ GRUB theme assets and ventoy.json
ventoy_grub.cfg "return to main menu" entry
ventoy_grub-f7.cfg F7 entry back to the main Paravis GRUB menu
```
## Applying the patches
The scripts take explicit paths, so they can be run from any checkout.
```sh
# 1. GRUB2 sources (run inside the Ventoy build tree)
python3 paravis/patch_ventoy_layout.py GRUB2/SRC/grub-2.04/grub-core/ventoy
# 2. VTOYEFI grub.cfg
python3 paravis/patch_ventoy_grubcfg.py vtoyefi/grub/grub.cfg
# 3. initramfs hook
python3 paravis/patch_ventoy_hook.py ventoy.cpio ventoy.cpio
# 4. vtoyjump32.exe / vtoyjump64.exe
python3 paravis/patch_vtoyjump.py <dir-with-vtoyjump-binaries>
# 5. default menu language
./paravis/patch-ventoy-lang.sh vtoyefi/grub/grub.cfg
```
`patch_vtoyjump.py` patches compiled binaries; it is safe to re-run and
skips files that are already patched.
## Theme
`paravis/theme/` contains `theme.txt`, `ventoy.json`, the background and
widget PNGs and `paravis.pf2` (Montserrat converted to GRUB format).
`ventoy.json` refers to `tahoma20.pf2`, `tahoma16.pf2`, `tahoma-bold16.pf2`
and `tahoma-bold14.pf2`. Those files are **not** part of this repository
because they are derived from Microsoft fonts. Provide them locally when
deploying the theme, or generate replacements from a font you are allowed to
use:
```sh
grub-mkfont -s 20 -o tahoma20.pf2 YourFont.ttf
```
`build-theme-main.py` renders the background and a preview from a layered
PSD file; it needs `psd-tools`, `Pillow` and the Montserrat font.
## What is not included
This is a source-only repository. It does not contain:
- private keys, certificates or signed EFI binaries (`keys/`, `*.signed`);
- Microsoft-derived font files (`tahoma*.pf2`, `segoeui18.pf2`);
- built Ventoy releases and bootable images (`*.iso`, `*.img`, `*.wim`,
`*.esd`, `Data.pf`);
- `bootice.exe`, Total Commander and other third-party binaries;
- build output, logs or local machine paths.
## License
Ventoy itself is licensed under GPLv3; see
[`Ventoy-src/COPYING`](Ventoy-src/COPYING). The Paravis patches and theme are
released under the same terms as the project they modify. See
[`THIRD-PARTY.md`](THIRD-PARTY.md) for details.