Skip to content

Latest commit

 

History

145 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OceroOS-32

32-битная ОС на C и Assembly.

32-bit C GPLv3 QEMU

Возможности

  • 32-битный защищённый режим

  • Загрузка через GRUB (Multiboot)

  • Клавиатура PS/2

  • VGA текст 80x25 (16 цветов)

  • ATA драйвер (чтение/запись секторов)

  • OFS своя файловая система

  • ELF-загрузчик (запуск программ)

  • TUI (псевдографические окна)

  • Шелл с историей команд

  • PC Speaker (пищалка)

Команды

Команда

Описание

help

Справка по командам

clear

Очистить экран

reboot

Перезагрузить систему

shutdown

Выключить систему

echo <текст>

Вывести текст

edit

Текстовый редактор

notes

Показать заметку

save

Сохранить заметку на диск

load

Загрузить заметку с диска

ls

Список файлов в OFS

cat <файл>

Показать содержимое файла

write <файл> <текст>

Создать или перезаписать файл

run <сектор>

Запустить ELF-программу

settings

Меню настроек

note2

Окно с заметкой

disk

Окно с диском

tt

Тестовое окно

par

Табличные команды

#Запуск в QEMU
qemu-system-i386 -kernel OceroOS.elf

Запуск на железе

# 1. Создать ISO-образ
mkdir -p iso/boot/grub
cp OceroOS.elf iso/boot/
cp grub/grub.cfg iso/boot/grub/
grub-mkrescue -o OceroOS-32.iso iso/

# 2. Записать на флешку
sudo dd if=OceroOS-32.iso of=/dev/sdX bs=4M status=progress

# 3. Загрузиться с флешки в режиме BIOS/Legacy

Структура проекта

OceroOS-32/
├── grub/
│   └── grub.cfg
├── docs/
│   └── COMMANDS.md
├── src/
│   ├── boot/
│   │   ├── boot.asm
│   │   └── linker.ld
│   └── kernel/
│       ├── fs/
│       │   ├── OFS.c
│       │   └── README.adoc
│       ├── PMocero.c
│       ├── Twindows.c
│       ├── ata.c
│       ├── commands.c
│       ├── elf.c
│       ├── init.c
│       ├── read_keyboard.c
│       └── video.c
├── images/
├── LICENSE.adoc
└── README.adoc

Лицензия

GNU General Public License v3.0

Copyright (c) 2026 Vlad944467

Что разрешено

  • Использовать код в любых целях (включая коммерческие)

  • Изменять код

  • Распространять копии

  • Распространять изменённые версии

Что запрещено

  • Закрывать исходный код (если распространяете программу)

  • Убирать уведомление об авторских правах

  • Использовать без указания авторства

Что обязательно

  • Указывать оригинального автора (Vlad944467)

  • Сохранять уведомление о лицензии в коде

  • Распространять изменения под той же лицензией GPLv3

  • Предоставлять доступ к исходному коду при распространении

Полный текст лицензии: https://www.gnu.org/licenses/gpl-3.0.html

Автор

Releases

Packages

Contributors

Languages