NebulousDev / SapphireOS

An x86 Operating System written in C + assembly

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sapphire OS

Sapphire is a simple [WIP] operating system built from scratch in C and NASM x86.

Building Sapphire

Linux (Ubuntu):

Make sure you have make and nasm installed:

sudo apt-get install -y nasm build-essential

Clone the repo:

git clone https://github.com/NebulousDev/SapphireOS.git

Install GCC cross compiler binaries:

make gcc

Then finally run the make instruction to build bin/sapphire.iso.

make

Done!

Running Sapphire

Running in QEMU:

If you do not already have qemu, install via this command:

sudo apt-get install -y qemu-kvm qemu virt-manager virt-viewer libvirt-bin

Run qemu:

make qemu

Running in Bochs:

Sapphire is also optionally setup to run in Bochs with the included .bochsrc config file

If you do not already have bochs, install via this command:*

sudo apt-get install -y bochs bochs-x vgabios

Run bochs:

make bochs

*Note: you may not need vgabios, though some systems (WSL2) will require it


A Note on Bochs and QEMU in WSL2

Bochs and QEMU both require X11 to run, but Windows WSL2 does not natively support X11 apps. This can be resolved by running a Windows X-Server app like VcXsrv. Further instructions can be found here.

Cleaning

If you need to clean the build files

make clean

About

An x86 Operating System written in C + assembly


Languages

Language:Assembly 77.3%Language:Makefile 19.9%Language:C 2.8%