Skip to content

leoncinardo/FeatherOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FeatherOS

A simple x86 64-bit hobby operating system made in C and Assembly.

FeatherOS FeatherOS exception screen

This project contains my shot at creating a functioning os and since I'm still learning a lot it may contain bad code, bad practices and bugs. I tried to run the os on my computer and a Thinkpad laptop and it worked without causing hassle. For now the os does the following:

  • Sets up a GDT
  • Sets up IDT and handles exceptions and IRQs
  • Barebones ACPI driver.
  • SSE support.
  • Barebones PS/2 keyboard driver.
  • Simple terminal with colored strings output.
  • Framebuffer driver that can draw lines and rectangles.

Why FeatherOS?

I like challenges so why not create an operating system? I want to have a deeper insight on how computers work and attempt to create difficult projects to sharpen my skills and abilities.

Compiling

The Makefile uses gcc and GNU ld. It's also needed to install the limine bootloader, preferably version 9.5.0. To compile the os simply run:

sudo make

Running the os

Qemu is used as a virtual machine(x86-64) to run the .iso image of the os. To run it just type:

make run

Or alternatively if you want GDB to display information on your terminal use:

make debug

About

A simple x86 64-bit hobby operating system made in C and Assembly.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published