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
3.5 KiB
ZOVboot
ZOVboot - кастомный загрузчик для ZovOS, основанный на кодовой базе Limine.
Сейчас задача проекта - сохранить надёжную загрузку Limine и постепенно добавить собственный брендинг, упаковку и интеграцию под ZovOS.
Статус
Проект находится на раннем этапе разработки.
На данный момент в репозитории уже есть:
- vendored-копия исходников Limine
- первые патчи с брендингом ZOVboot
- база для интеграции загрузки ZovOS
Для совместимости пока специально сохранены некоторые соглашения Limine:
limine.conflimine-bios.sys- стандартные UEFI-имена вроде
BOOTX64.EFI - структуры и идентификаторы Limine Boot Protocol
То есть сейчас ZOVboot - это кастомизированный форк Limine для ZovOS, а не полностью независимый загрузчик.
Структура репозитория
limine/- основное дерево исходников загрузчика и его build-systemREADME.md- описание проектаLICENSE- лицензия репозитория
Сборка
Собирать проект нужно из директории limine/.
Если ты работаешь прямо из этого git-репозитория, сначала нужно выполнить bootstrap:
cd limine
./bootstrap
После этого можно создать отдельную директорию сборки и включить нужные порты:
mkdir -p build
cd build
../configure --enable-bios --enable-uefi-x86-64
make
Обычно для сборки нужны:
autoconfautomakemakeclangилиgccld.lldили другой рабочий target linkerobjcopy,objdump,readelfnasmgzip
Полезные дополнительные инструменты:
mtoolsxorrisoqemu
Заметки
- Пока идёт ребрендинг, проект специально сохраняет часть upstream-имён файлов, чтобы не ломать совместимость загрузки.
- Основная низкоуровневая логика загрузки по-прежнему живёт в дереве
limine/. - Документация upstream Limine всё ещё полезна, особенно файлы:
limine/README.mdlimine/INSTALL.mdlimine/USAGE.mdlimine/CONFIG.md
Планы
- закончить брендинг ZOVboot в меню и утилитах
- добавить ZovOS-специфичные boot entries и упаковку образов
- ввести собственные имена конфигов и файлов с fallback на старые
- проверить BIOS и UEFI пути загрузки для образов ZovOS
Лицензия
Смотри LICENSE для лицензии репозитория.
В vendored-дереве limine/ также есть сторонние зависимости. Подробности
можно посмотреть в limine/3RDPARTY.md.