Files
Ventoy/README.md
T

93 lines
4.7 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 для флешки PARAVIS
Исходники Ventoy 1.1.18 и изменения Paravis, используемые на
мультизагрузочной флешке PARAVIS.
На флешке PARAVIS нестандартная разметка, поэтому Ventoy приходится
патчить: раздел с данными (ISO) определяется динамически, а не считается
первым.
| # | Размер | ФС | Метка | Назначение |
|---|--------|-----|-------|------------|
| 1 | 16 ГБ | FAT32 | `PARAVIS` | основной загрузочный раздел (bootmgr / g4d) |
| 2 | 32 МБ | FAT | `VTOYEFI` | раздел Ventoy EFI |
| 3 | остальное − 3 МБ | exFAT | `DATA` | образы и данные |
Раздел с данными определяется по файлу-маркеру `/ISO/Ventoy/NOT.DEL`.
## Структура репозитория
```
Ventoy-src/ исходники Ventoy 1.1.18 (GPLv3)
paravis/
patch_ventoy_layout.py патчи исходников GRUB2 под нестандартную разметку
patch_ventoy_grubcfg.py патч grub.cfg (поиск раздела данных по маркеру)
patch_ventoy_hook.py патч initramfs hook для раздела данных не 1
patch_vtoyjump.py обход проверки MBR в vtoyjump32/64
patch_ventoy_paravis_return.py пункт «Возврат в главное меню Paravis Flash»
patch-ventoy-lang.sh язык меню по умолчанию → ru_RU
build-theme-main.py сборка темы GRUB из PSD-макета
theme/ ресурсы темы GRUB и ventoy.json
ventoy_grub.cfg пункт «возврат в главное меню»
ventoy_grub-f7.cfg пункт F7 — возврат в главное меню Paravis
```
## Применение патчей
Скрипты принимают пути явно, поэтому работают из любого каталога.
```sh
# 1. Исходники GRUB2 (в дереве сборки Ventoy)
python3 paravis/patch_ventoy_layout.py GRUB2/SRC/grub-2.04/grub-core/ventoy
# 2. grub.cfg в VTOYEFI
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 <каталог-с-бинарниками-vtoyjump>
# 5. язык меню по умолчанию
./paravis/patch-ventoy-lang.sh vtoyefi/grub/grub.cfg
# 6. пункт «Возврат в главное меню Paravis Flash» (legacy + UEFI)
python3 paravis/patch_ventoy_paravis_return.py vtoyefi/grub/grub.cfg
```
`patch_ventoy_paravis_return.py` добавляет в `grub.cfg` функцию
`paravis_return` и пункт меню, который возвращает в главное меню Paravis:
в UEFI — через `grubx64.efi`, в BIOS — через MBR диска
(`chainloader (${vtoydev})+1`). Результат копируется в `grbp.cfg` — его
загружает UEFI-сборка `grubx64_parv.efi`, которую запускает меню Paravis;
legacy `core.img` загружает обычный `grub.cfg`.
`patch_vtoyjump.py` патчит скомпилированные бинарники; его можно запускать
повторно — уже пропатченные файлы пропускаются.
## Тема
В `paravis/theme/` лежат `theme.txt`, `ventoy.json`, фон, PNG-элементы
интерфейса и `paravis.pf2` (Montserrat в формате GRUB).
`ventoy.json` ссылается на `tahoma20.pf2`, `tahoma16.pf2`,
`tahoma-bold16.pf2` и `tahoma-bold14.pf2`. Этих файлов **нет** в
репозитории, потому что они являются производными шрифтов Microsoft.
Добавьте их локально при развёртывании темы или соберите замену из
шрифта, который разрешено использовать:
```sh
grub-mkfont -s 20 -o tahoma20.pf2 YourFont.ttf
```
`build-theme-main.py` собирает фон и предпросмотр из многослойного PSD;
нужны `psd-tools`, `Pillow` и шрифт Montserrat.
## Лицензия
Сам Ventoy распространяется по GPLv3, см.
[`Ventoy-src/COPYING`](Ventoy-src/COPYING). Патчи и тема Paravis
распространяются на тех же условиях, что и проект, который они изменяют.
Подробности — в [`THIRD-PARTY.md`](THIRD-PARTY.md).