Skip to content

a kernel written in rust to x86 architecture, with a cool logo.

License

Notifications You must be signed in to change notification settings

r33m-m1kul5k1/CrabOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CrabOS

a monolithic kernel written in rust to x86 architecture, with a userland shell.

(\/) (°,,,,°) (\/)

Build & Run

  1. install rust & qemu-system-x86_64

  2. change you rustc channel to nightly

    rustup default nightly-x86_64-unknown-linux-gnu

    to check your rustc details run rustc --version --verbose

  3. cargo install bootimage

    cargo install bootimage
  4. add rustc component llvm-tools-preview and rust-src

    rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
    rustup component add llvm-tools-preview
  5. cargo run

Debug the kernel

  1. add the -s -S options to the qemu command.
  2. load the binary with gdb gdb /path/to/CrabOS
  3. run in gdb target remote localhost:1234
  4. start debugging :)

Feature

  • UART for exceptions and unit testing
  • VGA buffer
  • interrupts & exceptions
  • physical memory manager
  • virtual memory manager
  • kernel heap management
  • processes
  • syscall structure & userland
  • file system
  • shell and some commands
  • maybe security stuff...

Research

Resources

osdev
intel's developer manual

Tutorials

Repositories

About

a kernel written in rust to x86 architecture, with a cool logo.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages