Skip to content

brandonhs/BrandOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BrandOS

BrandOS is a a lightweight x86 legacy bios operating system using GRUB.

Building

Requirements:

  • qemu-system
  • i386/i686 cross compiler
  • gnu grub version 2.05 (other versions may also work)

Commands:

To build and generate iso image:

make

To clean directory:

make clean

To run with qemu emulator:

make run

Structure

TODO

Contributing

Pull requests are welcome, however I am currently not accepting any major changes.

Roadmap

  • Setup project structure
  • Implmement basic kernel lib
  • Implement IDT/GDT in the kernel
    • GDT
    • IDT
  • Implement Basic Keyboard Driver
  • Implement Timer Driver (PIT)
  • Implement memory managment
    • x86: segmentation
    • paging
    • Virtual memory
  • Enter userland
    • Implememnt libc

End Goal

Create a self-hosting OS (Make an OS which can build itself)

Why am I trying to write an OS not even meant for modern hardware?

I have seen a lot of people on forums of all places who say that "the purpose of developing an operating system is to make a killer OS with all kinds of applications in the real world". I don't agree with that. Instead, I am writing an operating system for the sole purpose of experience and fun. To be able to say, "I made an operating system in high school", is my dream for this whole endeavor. To say that I am new to operating system development is an understatment. However, the experience of learning is most important to me.

The experience which comes out of low level os development has all kinds of real world applications. Complex build systems, memory manangment and allocation, and an understanding of kernel development are just a few which come to mind.

To actually answer the question, I have developed the build system with the mindset that I may add support for more modern systems in the future but for now, I am just enjoying the experience of writing an OS from the ground up.

License

LICENSE (GPL 3)

About

GNU GRUB based x86 legacy bios operating system using a custom kernel.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published