Hey there! Welcome to our Kernel From Scratch (KFS) project. This started out as part of the 42 Network curriculum, where we’re building an OS kernel from scratch. But here’s the fun part: we’re not just sticking to the basics. We’re adding our own features, customizing it, and going above and beyond the requirements.
Think of it as a fun, experimental project where we’re diving deeper into the world of systems programming and learning along the way. We’re taking the opportunity to add our own spin, explore new ideas, and build something that’s truly ours.
- An ASM bootable base that handles multiboot header
- A linker
- A basic kernel library, with basics functions and types
- GDT
- IDT
- PCI
- PIT
- RTC
- Date
- time
- 24h mode
- 12h mode
- Keyboard
- Querty
- Azerty
- Minimalistic shell
- clear
- reboot
- shutdown
- logout
- peek
- poke
- lspci
- screentime
- datetime
- timer
- history
- help
- Scroll
- Cursor
- History navigation
- Different Screens (3 TTYs for now)
- VGA
- Text Mode (16 color)
- 80x25
- 80x50
- Video Mode
- 320x200x256
- 640x480x16
- Text Mode (16 color)
- Fonts
- 8x8
- 8x16
- 9x14
- 9x16
- Print
- Serial print
- VGA print
- Enable paging
- User Space Memory
- Physical Memory
- Virtual Memory
- Helpers for physical memory
- kmalloc
- kfree
- ksize
- kbrk
- Hhelpers for virtual memory
- vmalloc
- vfree
- vsize
- vbrk
- Draw Line
- Draw Shapes (Empty + Filled)
- Rectangle + Square
- Triangle
- Circle
- Rhombus
- Draw Array of pixels (To draw images)