Skip to content

My learning project for Kernel Development in Rust

Notifications You must be signed in to change notification settings

Traijan1/traizzle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Traizzle

Traizzle is my kernel project in which I want to learn more about Kernel and OS Programming.
I'm only working on it, when I have the time for it


Status

  • A Serial Port Driver, current implementation only uses COM1. It's used for Debug purpose.
  • A very simple frambuffer abstraction that allows me to print chars with a PSF-Font, Strings and Rectangles.
  • Rust print!- and println!-Macros are working and use the Console abstraction currently.

Current plans

  • Rethink about how I structure the Kernel (do I need a Console abstraction in my kernel? (probably not)).
  • Implement Interrupts.
  • Implement Paging.

How to run

You can run the kernel in the crate directory with following command: cargo krun. This will open qemu-system-x86_64 so be sure to have it installed.

If you want to try it on real hardware use: cargo kimage. The efi file will be in target/x86_64-unknown-efi/release/uefi.efi. After that you can flash it with rufus or balenaEtcher on an USB drive and boot from it.


After informations

I use the bootloader from here.
I learned the setup for Rust Kernel development from the Rust OS Dev Blog.

About

My learning project for Kernel Development in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages