Files
Elyz/README.md
2026-03-27 13:08:27 +02:00

3.7 KiB
Raw Blame History

🦀 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)
  • aarch64
  • riscv64
  • loongarch64

Для архитектур, отличных от x86, потребуется настройка соответствующих целевых платформ в kernel/rust-toolchain.toml.


📝 Важное

  • Очистка проекта: Чтобы удалить все артефакты сборки и скомпилированные файлы, выполните:
    make clean
    
  • Логи: Ядро выводит данные в консоль QEMU.

Boot основан на оригинальном шаблоне: jasondyoungberg/limine-rust-template