Giter Club home page Giter Club logo

sayorios's Introduction

О проекте

C Python

SayoriOS - простая x86 операционная система на языке C с хорошо документированным ядром. SayoriOS

Имеется

  • 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]

Linux Ubuntu Debian

  1. Установить ПО для сборки

    sudo apt-get install python3 clang llvm grub-pc-bin xorriso mtools lld git fasm
  2. Установить ПО для запуска ОС

    sudo apt-get install libvirt-daemon libvirt-clients bridge-utils virt-manager qemu-kvm qemu virt-manager

    Или просто установите любую из поддерживаемых виртуальных машин

  3. Скачиваем репозиторий с гитхаба (или самому через браузер)

    git clone https://github.com/pimnik98/SayoriOS.git
  4. Переходим в проект с папкой

    cd SayoriOS
  5. Запускаем компиляцию

    Простая компиляция и запуск:

    python3 build.py

    Компиляция, без запуска:

    python3 build.py kernel apps iso

    Компиляция, без запуска, без приложений:

    python3 build.py kernel iso

[Arch Linux]

  1. Установить ПО для сборки

    sudo pacman -S python3 clang llvm grub xorriso mtools lld git fasm
  2. Установить ПО для запуска ОС

    sudo pacman -S libvirt bridge-utils virt-manager qemu virt-manager
  3. Скачиваем репозиторий с гитхаба (или самому через браузер)

    git clone https://github.com/pimnik98/SayoriOS.git
  4. Переходим в проект с папкой

    cd SayoriOS
  5. Запускаем компиляцию Простая компиляция и запуск:

    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

Если вы далеки от программирования

Вы можете протестировать ОС, придумать новую идею, задонатить на развитие или написать статью.

Используемые ресурсы

Отказ от ответственности

SayoriOS это не дистрибутив linux, это новый проект который не имеет за собой компании или организации которая могла бы дать гарантий. Ядро SayoriOS имеет открытый исходный код, вы можете сами удостовериться в отсутствии вредоносного ПО изучая файлы этого репозитория. При использовании материалов вы обязуетесь соблюдать авторские права. Я не несу ответственности за причиненный ущерб. Используйте на свой страх и риск.

sayorios's People

Contributors

buncombe avatar ndraey avatar pimnik98 avatar seeroy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.