Skip to content

rossanx/akfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KALIMERA - akfs

Kalimera - A(nother) Kernel From Scratch

Yes, this is another operating system kernel written from scratch. There are tons of the same out there.

So far, the planned features/architecture are: x86 (32 bits):+1:, protected-mode :+1:, ring 0 only :+1:, no paging, multitasking - kernel threads only, network communication (ethernet), IPv4, UDP, ICMP, BOOTP, ARP, RARP, serial communication, interrupts :+1:, exceptions :+1:, keyboard input :+1:, terminal emulation :+1:.

It should be small and simple enough to enable anyone to grasp the workings of the entire kernel. Yep, you've just read it. It will be written in AT&T assembly language syntax and C.

Please, read the file docs/journal.md.

pie title Source Code Distribution so far (lines)
    "C" :  19
    "x86-Assembly" :  6086
    "Shel Script" :  262
    "Makefile/linker script" :  862
    "Documentation" :  2752
Loading

Please, read the file docs/journal.md. But for the impatient, read next.


In order to run the kalimera kernel you will need A REAL PC or a virtual machine, like Qemu or VirtualBox. This is a work in progress, so the Makefile supports only qemu for now. So, make sure you have qemu installed in your system.

In order to run the kalimera kernel with a pretty cool animation:

  make clean; make run

Here are some milestones marked with tags:

  v0.07-kernel-device-driver-pit-clock
  v0.06-kernel-keyboard-terminal
  v0.05-kernel-device-driver-pic-keyboard
  v0.04-kernel-IDT-32-exceptions
  v0.03-kernel-in-32bit-protected-mode
  v0.02-bootloader-detect-memory
  v0.01-simple-bootloader

You can travel in time by just typing:

  git checkout <tag>

For instance, to checkout tag v0.03-kernel-in-32bit-protected-mode:

  git checkout v0.03-kernel-in-32bit-protected-mode

To return to the future:

  git checkout master

Enjoy!