I always wanted to learn how OS works behind the scenes.
- How it handles various windows of applications.
- How it runs background processes.
- How it connects to various different hardwares seemlessly.
So I decided to start building my own OS from scratch
TODO list
- Bootloader
- disk read
- 16 bit print and hex print
- gdt for 32 bit protected mode
- 32 bit print
- Splash screen
- Kernel
- Basic screen driver
- Clear screen function
- Print functions with scroll and newline
- Interrupt handling
- Keyboard Support
- File system
- Core OS
- Cursor support
- External application support
- GUI components
You will need gcc, ld and nasm
I use this docker image for compiling cross-compiler tools which is recommed for 32 bit i386 OS.
docker run -it lordmilko/i686-elf-tools -gv 9.2.0 -bv 2.34 -dv 9.1And copy the build zip generated inside container /root/build-i686-elf/i686-elf-tools-linux.zip to another ubuntu container.
You will need qemu too to test compiled os.
Run make compile and then make start

