Files
Ventoy/README.md
T

93 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.