# 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`.
