Skip to content

thisisommore/os-from-scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OS From Scratch

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

Compiling

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.1

And 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

Result

Scrolling and Timer - Screen Recording 2023-09-19 at 2 35 03 PM

Keyboard interrupt - Screenshot 2023-09-17 at 7 40 04 PM

Thanks

cfenollosa/os-tutorial

OSDevWiki

bkerndev(OSDever) PIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors