Skip to content

amxrmxhdx/RingOS

Repository files navigation

RingOS

Demo Image A hobby Operating System written in C.

Features

  • Fat32 filesystem
  • Custom LibC (Very limited and by far not POSIX compliant, but soon)
  • System interrupts
  • Custom bootloader (No Grub Club)

WIP

  • Modern graphics
  • Executable binary support
  • Custom JVM
  • Multiple users
  • Multiple architectures

Building and Running

Linux and MacOS(x86)

$ ./buildrun-linux.sh

Silicone MacOS(M1>)

$ ./buildrun-silicone.sh

Build Your Own Programs (C SDK)

RingOS now includes a tiny user-space C library (clib) and a compiler script for building flat binaries that exec can run.

1. Build a sample app

$ ./tools/build-userprog.sh programs/hello.c filesystem/userland/apps/HELLO.BIN

2. Rebuild OS + disk image

$ make

3. Run and execute inside RingOS shell

cd APPS
exec HELLO.BIN

Create your own app

Create a new file like programs/myapp.c:

#include "clib.h"

int main(void) {
	clib_puts("My custom RingOS app!\n");
	return 0;
}

Build it:

$ ./tools/build-userprog.sh programs/myapp.c filesystem/userland/apps/MYAPP.BIN

Then run make, boot, and use exec MYAPP.BIN.

About

Hobby Operating System written in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages