BrandOS is a a lightweight x86 legacy bios operating system using GRUB.
- qemu-system
- i386/i686 cross compiler
- gnu grub version 2.05 (other versions may also work)
To build and generate iso image:
make
To clean directory:
make clean
To run with qemu emulator:
make run
TODO
Pull requests are welcome, however I am currently not accepting any major changes.
Setup project structureImplmement basic kernel libImplement IDT/GDT in the kernelGDTIDT
Implement Basic Keyboard Driver- Implement Timer Driver (PIT)
- Implement memory managment
- x86: segmentation
- paging
- Virtual memory
- Enter userland
- Implememnt libc
Create a self-hosting OS (Make an OS which can build itself)
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.