We want to have a ton of people come together and make their own individual contributions to a barebones operating system. Our goal is to have an OS which is fully custom built from scratch, and which can boot on an x86 machine. Any contributions are greatly appreciated!
GitHub Repo Matrix ChatNOTE: THESE INSTRUCTIONS ARE TARGETING LINUX BASED SYSTEMS, IF YOU DON'T USE LINUX THEN INSTALL LINUX ON A VIRTUAL MACHINE TO FOLLOW THESE
A: Step 1 - Installing the required build tools
I am using Ubuntu for this guide, the following command will install the required tools on any Ubuntu based distro.
sudo apt install build-essential binutils nasm clang qemu-system-x86
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 as well, but it also runs the img file in qemu so you can test it out.
We have 2 points of contact; feel free to email either of us to get in touch!
We also have a Matrix chat, so if you have a Matrix account then feel free to join that as well!
Ember2819 TheOtterMonarch Matrix Chat