О проекте
SayoriOS - простая x86 операционная система на языке C с хорошо документированным ядром.
Имеется
- PS/2 клавиатура
- Kheap
- VMM
- PMM
- VFS
- ELF 32 формат исполняемых файлов
- VESA графика
- CMOS
- PC Speaker
- PCI
Поддержка ATA- VFS
- tar-fs
SSFS - безопасная файловая система- 11 сисфункций
Сборка и запуск
Универсальное решение
python3 build.py
[Linux Debian/Ubuntu]
-
Установить ПО для сборки
sudo apt-get install python3 clang llvm grub-pc-bin xorriso mtools lld git fasm
-
Установить ПО для запуска ОС
sudo apt-get install libvirt-daemon libvirt-clients bridge-utils virt-manager qemu-kvm qemu virt-manager
Или просто установите любую из поддерживаемых виртуальных машин
-
Скачиваем репозиторий с гитхаба (или самому через браузер)
git clone https://github.com/pimnik98/SayoriOS.git
-
Переходим в проект с папкой
cd SayoriOS
-
Запускаем компиляцию
Простая компиляция и запуск:
python3 build.py
Компиляция, без запуска:
python3 build.py kernel apps iso
Компиляция, без запуска, без приложений:
python3 build.py kernel iso
[Arch Linux]
-
Установить ПО для сборки
sudo pacman -S python3 clang llvm grub xorriso mtools lld git fasm
-
Установить ПО для запуска ОС
sudo pacman -S libvirt bridge-utils virt-manager qemu virt-manager
-
Скачиваем репозиторий с гитхаба (или самому через браузер)
git clone https://github.com/pimnik98/SayoriOS.git
-
Переходим в проект с папкой
cd SayoriOS
-
Запускаем компиляцию Простая компиляция и запуск:
python3 build.py
Компиляция, без запуска:
python3 build.py kernel apps iso
Компиляция, без запуска, без приложений:
python3 build.py kernel iso
[Windows]
Установите WSL или виртуальную машину с Ubuntu версии не ниже 18. Соберите ядро по инструкции для Linux. В будущем, по мере перехода на Limine, сборка упростится в разы.
[Другие ОС]
Когда-нибудь будет информация...
Компилятор
Рекомендуемый компилятор: Clang 14.0 (LLVM 14)
Минимальная версия компилятора: Clang 11.0 (LLVM 11)
Запуск в QEMU
Простой запуск:
qemu-system-i386 -name SayoriOS -cdrom SayoriOS.iso
С подключением устройств (Спикер, Сетевая карта RTL8139, откладочным портом в лог):
qemu-system-i386 -name SayoriOS -soundhw pcspk -m 16 -netdev socket,id=n0,listen=:2030 -device rtl8139,netdev=n0,mac=11:11:11:11:11:11 -cdrom SynapseOS.iso -serial file:Qemu.log
Стандартный:
python3 build.py run
Минимальные системные требования
- 5 мегабайт оперативной памяти
- 4 мегабайта видеопамяти
- Процессор на x86 архитектуре
Благодарности
- Всем кто вносит в развитие проекта
И другие
Как внести свой вклад
Если вы программист
- Сделайте форк репозитория GitHub;
- Создайте свою ветку если требуется
- Скачайте(склонируйте) репозиторий на своё устройство (опционально, вы можете редактировать файлы используя веб интерфейс GitHub)
- Внесите изменения
- (ВАЖНО) Протестируйте изменения
- Создайте pull request в этот репозиторий
- После проверки, ваши изменения скорее-всего примут, удачи!
Также не забывайте про стиль кода и коммитов, он указан в STYLE.md
Если вы далеки от программирования
Вы можете протестировать ОС, придумать новую идею, задонатить на развитие или написать статью.
Используемые ресурсы
- https://wiki.osdev.org/Main_Page
- http://www.jamesmolloy.co.uk/tutorial_html/
- http://www.osdever.net/bkerndev/Docs/title.htm
- https://littleosbook.github.io
- http://www.brokenthorn.com/Resources/
- http://www.osdever.net/tutorials/
- https://github.com/rgimad/EOS
- https://phantomexos.blogspot.com/
Отказ от ответственности
SayoriOS это не дистрибутив linux, это новый проект который не имеет за собой компании или организации которая могла бы дать гарантий. Ядро SayoriOS имеет открытый исходный код, вы можете сами удостовериться в отсутствии вредоносного ПО изучая файлы этого репозитория. При использовании материалов вы обязуетесь соблюдать авторские права. Я не несу ответственности за причиненный ущерб. Используйте на свой страх и риск.