Людос
Ludos-это ядро Hobby Linux, написанное для развлечения в C ++.
Функции
- В настоящее время поддерживает 32-разрядную архитектуру x86
- Расширяемая виртуальная файловая система с возможностью разоблачить интерфейсы вызова функции на узлах, чтобы обеспечить более чистый интерфейс, чем ioctl
- PS/2 поддержка клавиатуры и мыши
- Упреждающая и кооперативная многозадачность
- Поддерживает разрешения до 1920x1080 с использованием кадров VBE
- Использует MTRR, чтобы обеспечить лучшую производительность с помощью кадров
- Поддержка дисков SATA через AHCI и ATA
- Файловая система ext2 и файлы TAR, установленные на VFS
- Освещающий графический рамный терминал и оболочка
Цели
- Поддержка 64-битной архитектуры и рук x86
- Драйвер TCP/IP
- Полноценный графический менеджер окон
- Динамическая поддержка линкера
- Программы портирования, такие как GCC, NASM или Freedoom в Ludos
Зависимость
QEMU необходим для запуска ядра с помощью tools/run.sh . На Ubuntu и производных: sudo apt-get install qemu-system
Как построить:
Встроенные двоичные файлы уже включены в каталог Build/Bin, но если вы хотите создать себе, репозиторий делает следующее:
- Сначала постройте свой собственный кросс-компилятор после этих инструкций: https://wiki.osdev.org/gcc_cross-compiler
- Создайте проект, используя
CXX=<cross-g++-path> CC=<cross-gcc-path> cmake CMakeLists.txt , а затем make .
Как бежать:
Запустите Script tools/run.sh , который будет запускать QEMU в двоичном файле ядра.
Скриншоты: