1
0
Fork
You've already forked sbos
0
No description
  • C 95.8%
  • Assembly 1.7%
  • Makefile 1.6%
  • Shell 0.9%
Find a file
2023年11月13日 15:15:08 +01:00
kernel Kernel: Add typedefs.h 2023年11月13日 15:15:08 +01:00
meta Meta: Modify run and debug scripts 2023年11月08日 18:28:38 +01:00
toolchain Meta: Create a simple toolchain compilation script 2023年10月31日 00:18:38 +01:00
userland LibC: Support negative values in printf for %d 2023年11月13日 14:55:09 +01:00
.clang-format Move everything into a new repo. 2023年10月22日 19:50:38 +02:00
.gitignore Meta: Create simple build scripts for kernel, userland and general enviroment 2023年10月31日 00:18:38 +01:00
.gitmodules Meta: Move kernel and userland to their own folders. 2023年10月31日 00:18:38 +01:00
doom.png README: Add a screenshot of the system running doom 2023年10月22日 19:58:17 +02:00
LICENSE Meta: Change license to be WTFPL 2023年11月12日 21:09:49 +01:00
README.md Kernel: Add a simple TCP implementation 2023年11月01日 03:00:32 +01:00

sbOS

A mostly from scratch, UNIX like x86 hobbyist operaing system. Kernel, libc and the rest of the userland are written from scratch. It only requires a bootloader that supports the first version of multiboot(such as GRUB).

Features

  • Paging
  • Interrupts
  • Process scheduling
  • VBE graphics
  • PS2 Mouse/Keyboard
  • VFS
  • ext2 filesystem
  • DevFS
  • UNIX sockets
  • libc
  • Window Manager
  • Terminal Emulator
  • Simple Text Editor(ante)
  • Very basic shell
  • Shell utilities(cat, yes, echo etc)
  • PCI (it works for what it is currently used for)
  • rtl8139 Network Card (works ish)
  • ARP/Ethernet/IPv4/UDP
  • A very simple TCP implementation

and some other stuff.

Screenshot

sbOS running DOOM

sbOS running DOOM, more specifically doomgeneric created by ozkl

How do I run it?

I don't know why you would, it is not well supported and it does not have anything intreasting to look at. But if you really want to then you can build the toolchain by running. meta/toolchain.sh and build the full system using meta/build.sh

You need the packages listed by the osdev wiki and some other packages for setting up grub that I forgot what they are.

I have only tested this a few times when distro hopping so no clue if it still works.

Why?

fun