3.7 KiB
🦀 Elyz
📂 Структура проекта
kernel/— Исходный код ядра на.limine/— Файлы загрузчика Limine.ovmf/— Файлы прошивки для поддержки загрузки через UEFI.limine.conf— Конфигурация меню загрузки.GNUmakefile— Основной сценарий сборки и запуска.
🛠 Требования
Для работы со сборкой понадобятся следующие инструменты:
| Инструмент | Описание |
|---|---|
| GNU Make | Утилита для сборки (make). |
| Rust | Nightly версия, включая rust-src. |
| xorriso | Необходим для создания загрузочных ISO-образов. |
| sgdisk & mtools | Необходимы для создания образов жесткого диска (HDD/USB). |
| QEMU | Эмулятор для тестирования ядра. |
Запуск и отладка
-
Склонируйте репозиторий
git clone https://git.inotfail.com/INotFail/Elyz.git cd elyz -
Сборка ядра
cd kernel make all cd ../ -
Запуск (основные способы)
make run-biosили
make runили
make run-uefi
make all скомпилирует ядро (из kernel/), а затем сгенерирует загрузочный ISO-образ.
make run соберет ядро и загрузочный ISO-образ (эквивалент команды make all), а затем запустит его с помощью команды qemu (если установлено).
make all-hdd скомпилирует ядро, а затем сгенерирует исходный образ, подходящий для записи на USB-накопитель или жесткий диск/SSD.
make run-hdd соберет ядро и необработанный образ жесткого диска (эквивалентно созданию образа для всех жестких дисков), а затем запустит его с помощью qemu (если установлено).
run-uefi и run-hdd-uefi цели эквивалентны своим нецелевым -uefi аналогам, за исключением того, что они загружаются qemu с использованием прошивки, совместимой с UEFI.
🏗 Поддерживаемые архитектуры
Переменная KARCH определяет целевую архитектуру. По умолчанию используется x86_64.
Вы можете изменить архитектуру при вызове make:
make run KARCH=aarch64
Доступные варианты:
x86_64(Default)aarch64riscv64loongarch64
Для архитектур, отличных от x86, потребуется настройка соответствующих целевых платформ в
kernel/rust-toolchain.toml.
📝 Важное
- Очистка проекта: Чтобы удалить все артефакты сборки и скомпилированные файлы, выполните:
make clean - Логи: Ядро выводит данные в консоль QEMU.
Boot основан на оригинальном шаблоне: jasondyoungberg/limine-rust-template