/urban-waffle-0S

Primary LanguageCMIT LicenseMIT

NoobOS

A simple OS template for those who wish to get started with OS dev

What does this do?

This is a simple and minimalistic implementation of a bootloader and a kernel to boot the OS from the disk, load the kernel and indicate the same by printing a message on the screen.

Purpose

If you want to learn more about OS dev but couldn't find any simple source on the same, then you can use this repository as a reference. Modern operating systems are much more complicated than this implementation, so it is advisable to refer to other sources such as OSdev Wiki once you have a better understanding on OS dev

Building the project

If your system needs to set file permissions for the build script, use the command below:

chmod +x build.sh

Once permissions are set, run the command below to compile the source files and boot the OS:

./build.sh

See dependencies for more info on required libraries and software installed

Working Screenshot

NoobOS

Dependencies

  • QEMU
  • gcc
  • NASM
  • WLS (Windows machines only)

Pre-requisites

  • Knowledge on C programming
  • Basics of Assembly x86
  • Basics of operating systems
  • Registers and flags (x86 architecture)

References

Alternative sources

Credits