/Practice-OS

A simple OS for x86, written using C and Assembly.

Primary LanguageCMIT LicenseMIT

Info

Assembly files are compiled using NASM, C files are compiled using GCC.
Some scripts used in the build process require .NET runtime.

Prerequisites

Installing dependencies:

sudo apt install -y dotnet-runtime-6.0
dotnet tool install -g dotnet-script
cat << EOF >> ~/.profile
# Add .NET Core SDK tools
export PATH="\$PATH:$HOME/.dotnet/tools"
EOF
. ~/.profile
sudo rm -rf ~/.cache

Running in emulator

  1. Commands for bochs:
sudo apt install -y bochs-x bochsbios vgabios
./scripts/bochs.sh
  1. Commands for QEMU:
sudo apt install -y qemu-system-i386
./scripts/qemu.sh

Building

Note: You must compile NASM from source with this patch to have proper debug symbols for asm files.

Command:

make all