:trollface: Hobby x86 unix-like kernel. Curiously under development to answer "How to write an OS".
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
iso/boot/grub
src
utils
.gitignore
LICENSE
Makefile
README.md

README.md

Tantra

 \_\_    _/_/       Tantra
     \__/           /तंत्र/ n. System (sanskrit)
     (o0)\________  Hobby unix-like x86 kernel
     (#_)\ tantra )\
         ||------w |
         ||       ||

Tantra

Building

Available build profiles:

make all
make iso
make run
make qemu

Debugging

Use bochs to step into instructions and see registers in action:

make run

Roadmap

Things that are yet to be implemented:

  • Fairly useful libc
  • Implement syscalls and errnos (s/w based interrupts)
  • Refactor and improve memory management and heap allocation (sbrk, malloc, free etc)
  • Improving x86 paging and frame mapping/allocation
  • Implement Virtual File System and ext2/custom-fs implementation
  • Fix build system to move away from iso to a real HDD
  • Init ramdisk
  • Implement multitasking, COW, processes (fork etc)
  • Implement scheduler for user processes
  • Usermode apps: init, shell, fs related (mkdir, ls etc), cat, echo, etc.
  • Support multiple cpus/core, SMP
  • VGA graphics
  • Networking

References

Tutorials

Examples

Articles

Linux

Theory