README.md Старый однострочный README заменён на полноценное описание проекта: что такое ZOVboot, статус, структура репозитория, сборка, заметки по совместимости, планы и лицензия. limine/configure.ac AC_INIT переименован с Limine на ZOVboot, URL заменены на git.bebrik.xyz, help-тексты для TOOLCHAIN_FOR_TARGET, CC_FOR_TARGET, LD_FOR_TARGET, OBJCOPY_FOR_TARGET, OBJDUMP_FOR_TARGET, READELF_FOR_TARGET, CFLAGS_FOR_TARGET, CPPFLAGS_FOR_TARGET, LDFLAGS_FOR_TARGET, NASMFLAGS_FOR_TARGET переведены с “for Limine” на “for ZOVboot”. limine/common/protos/limine.c Bootloader name, который отдаётся ядру через bootloader_info_response->name, сменён с "Limine" на "ZOVboot". limine/common/protos/multiboot1.c LIMINE_BRAND сменён с "Limine " на "ZOVboot ". limine/common/protos/multiboot2.c LIMINE_BRAND сменён с "Limine " на "ZOVboot ". limine/common/lib/bli.c Wide-string бренд LIMINE_BRAND сменён с L"Limine " на L"ZOVboot ". limine/common/menu.c Строки брендинга в меню заменены с Limine ... на ZOVboot ... для BIOS, UEFI32 и обычного UEFI. limine/common/drivers/disk.s2.c Panic-сообщение про неподдерживаемую UEFI-машину теперь говорит ZOVboot UEFI вместо Limine UEFI. limine/common/entry.s3.c Поменяны пользовательские сообщения: про загрузку выше 4 GiB, про поиск конфигурации и про отсутствие конфигурационного файла, теперь в них фигурирует ZOVboot. limine/host/limine.c Ребрендинг CLI-утилиты: сообщение об успешной BIOS-установке, usage для enroll-config, --version, license-строка, ошибка print-datadir, ошибка “compiled without BIOS support”. Неотслеживаемое: limine/build-host Временная директория host-сборки. limine/build-test Временная директория test/build-конфигурации. Итог по diffstat: 10 files changed 126 insertions 32 deletions
97 lines
3.5 KiB
Markdown
97 lines
3.5 KiB
Markdown
# ZOVboot
|
||
|
||
ZOVboot - кастомный загрузчик для **ZovOS**, основанный на кодовой базе
|
||
[Limine](https://github.com/limine-bootloader/limine).
|
||
|
||
Сейчас задача проекта - сохранить надёжную загрузку Limine и постепенно
|
||
добавить собственный брендинг, упаковку и интеграцию под ZovOS.
|
||
|
||
## Статус
|
||
|
||
Проект находится на раннем этапе разработки.
|
||
|
||
На данный момент в репозитории уже есть:
|
||
|
||
- vendored-копия исходников Limine
|
||
- первые патчи с брендингом ZOVboot
|
||
- база для интеграции загрузки ZovOS
|
||
|
||
Для совместимости пока специально сохранены некоторые соглашения Limine:
|
||
|
||
- `limine.conf`
|
||
- `limine-bios.sys`
|
||
- стандартные UEFI-имена вроде `BOOTX64.EFI`
|
||
- структуры и идентификаторы Limine Boot Protocol
|
||
|
||
То есть сейчас ZOVboot - это **кастомизированный форк Limine для ZovOS**, а
|
||
не полностью независимый загрузчик.
|
||
|
||
## Структура репозитория
|
||
|
||
- `limine/` - основное дерево исходников загрузчика и его build-system
|
||
- `README.md` - описание проекта
|
||
- `LICENSE` - лицензия репозитория
|
||
|
||
## Сборка
|
||
|
||
Собирать проект нужно из директории `limine/`.
|
||
|
||
Если ты работаешь прямо из этого git-репозитория, сначала нужно выполнить
|
||
bootstrap:
|
||
|
||
```bash
|
||
cd limine
|
||
./bootstrap
|
||
```
|
||
|
||
После этого можно создать отдельную директорию сборки и включить нужные порты:
|
||
|
||
```bash
|
||
mkdir -p build
|
||
cd build
|
||
../configure --enable-bios --enable-uefi-x86-64
|
||
make
|
||
```
|
||
|
||
Обычно для сборки нужны:
|
||
|
||
- `autoconf`
|
||
- `automake`
|
||
- `make`
|
||
- `clang` или `gcc`
|
||
- `ld.lld` или другой рабочий target linker
|
||
- `objcopy`, `objdump`, `readelf`
|
||
- `nasm`
|
||
- `gzip`
|
||
|
||
Полезные дополнительные инструменты:
|
||
|
||
- `mtools`
|
||
- `xorriso`
|
||
- `qemu`
|
||
|
||
## Заметки
|
||
|
||
- Пока идёт ребрендинг, проект специально сохраняет часть upstream-имён
|
||
файлов, чтобы не ломать совместимость загрузки.
|
||
- Основная низкоуровневая логика загрузки по-прежнему живёт в дереве
|
||
`limine/`.
|
||
- Документация upstream Limine всё ещё полезна, особенно файлы:
|
||
- `limine/README.md`
|
||
- `limine/INSTALL.md`
|
||
- `limine/USAGE.md`
|
||
- `limine/CONFIG.md`
|
||
|
||
## Планы
|
||
|
||
- закончить брендинг ZOVboot в меню и утилитах
|
||
- добавить ZovOS-специфичные boot entries и упаковку образов
|
||
- ввести собственные имена конфигов и файлов с fallback на старые
|
||
- проверить BIOS и UEFI пути загрузки для образов ZovOS
|
||
|
||
## Лицензия
|
||
|
||
Смотри `LICENSE` для лицензии репозитория.
|
||
|
||
В vendored-дереве `limine/` также есть сторонние зависимости. Подробности
|
||
можно посмотреть в `limine/3RDPARTY.md`.
|