82 lines
3.9 KiB
Markdown
82 lines
3.9 KiB
Markdown
# 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-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
|
||
```
|
||
|
||
`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).
|