Skip to content

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

License

Notifications You must be signed in to change notification settings

leo007er1/FeatherOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 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:

  • Setup a GDT
  • Setup IDT and handles exceptions
  • 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

You need a cross compiler, the Makefile uses gcc and as a linker GNU ld. To compile the os simply run:

sudo make

Running the os

As a virtual machine I use Qemu with the qemu-system-x86_64 command, so install that and you're good to go. To run it just type:

make run

Or alternatively if you want GDB to display information on your shell 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