Skip to content
 
 

Repository files navigation

The Community OS

Vision:

We want to have a ton of random people come together and make their own individual contributions to a barebones operating system. Our goal is to have an OS that is fully custom built from scratch that can boot on an x86 machine. Any contributions or advice is greatly appreciated!

How to Contribute:

There are several ways you can contribute:

  • Give us ideas for the name and logo here
  • Give us feedback here
  • Fix a typo or add better wording
  • Improve documentation
  • Add a new feature
  • Improve or optimize code
  • Clean up code
  • Format code and comments
  • Tell others about the project

You can apply your contributions to the main project in two ways:

If you contribute at all in any way to the project, please add your name to the list in the README or main.c file. I highly recommend using Github to make changes as codeshare is difficult to work on multiple files and is very disorganized at the moment. I would like to make codeshare more of a note and planning page as well as a place to gather names rather than a place where we are actually working on code to improve effeciency.

TO-DO

  • Create a command system
  • Implement shell
  • Implement shell navigation via arrow keys
  • Remove Profanity

Needed Jobs

  • Dedicated tester: Must have a Linux machine or Linux VM running x86 to build the lastest version of the OS and distribute it on the website.

Roadmap

  • Dynamic Memory Management
  • Shell
    • With a basic command system
  • Storage management/Filesystem
  • Internet Access
  • Package Manager
  • First Official Release

How do I compile and run this project?

NOTE: THESE INSTRUCTIONS ARE TARGETING LINUX BASED SYSTEMS, IF YOU DON'T USE LINUX THEN INSTALL LINUX ON A VIRTUAL MACHINE TO FOLLOW THESE

Step 1 - Install required build tools

For Debian/Ubuntu and derivatives sudo apt install build-essential binutils nasm clang qemu-system-x86

For Arch and derivatives sudo pacman -S base-devel binutils nasm clang qemu-system-x86 ccache

This installs:

  • NASM (for assembling the bootloader)
  • LD (the GNU linker for linking the code into one image)
  • Clang (for compiling the C code)
  • GCC (backup compiler, same use as Clang)
  • Make (for automating all the commands needed)
  • QEMU (emulator, for testing the OS)

If you are not using an Ubuntu based distro then use any equivalent command for your distro's package manager, these tools should be easily available for all distros.

Step 2 - Building the OS

This process will work on any Linux distro as long as you have the previously stated dependencies installed

There are 2 commands you can use for this:

make all - This produces an os.img file

make run - This produces an os.img file (like the make all command) but it also runs the img file in qemu so you can test it out. Note: When it asks what drive to boot from, press "1".

Other details

Contact

elroylilly@gmail.com for any questions If you want a pre-built Image email us

Also, you can join the community slack here

Pictures

2026-03-22 20-42-07

Contributors:

  • Ember2819 (Founder & Manager)
  • Sifi11 (Founder)
  • Crim (OG)
  • CheeseFunnel23 (was cooking RIP)
  • bonk enjoyer/dorito girl (Bootloader Creator) ABSOLUTE LEGEND
  • KaleidoscopeOld5841 (Uses Arch BTW)
  • billythemoon (V1 Website creator)
  • TheGirl790 (OG)
  • kotofyt
  • xtn59
  • c-bass
  • u/EastConsequence3792
  • MorganPG1
  • Zorx555
  • mckaylap2304 (V2 Website creator)
  • TheOtterMonarch
  • codecrafter01001
  • Pumpkicks or flixytss

About

A bunch of people wasting time together... Building an OS from scratch. NO AI SLOP!!

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages