Skip to content

Property404/kabutOS

Repository files navigation

KabutOS

RISC-V operating system

Crates

  • krabby - The kernel
  • krabby-abi - ABI between userspace and kernel, and common types
  • userspace/kanto - Userland library
  • userspace/dratinit - The init program (process 1)
  • userspace/gary - Userspace test suite
  • embedded-line-edit - No-std manual line editing library
  • crusty-line - No-std readline functionality
  • page-alloc - Page-grain allocation library

Installing Dependencies

Note: This requires Ubuntu or Debian. If you're on another distro, or the script does not work, check out the [Setting up Distrobox] section

./install-dependencies

Building

cargo build

Running on QEMU

cargo run

To exit QEMU, type Ctrl-A then X

Debugging

cargo run -- -S -s

# In another terminal
./debug.sh

# GDB commands
si/stepi # Step by instruction
s/step  # step
n/next  # Next line
break <label> # Break at label
continue # continue until breakpoint

Setting up Distrobox

While KabutOS will build anywhere, a GDB build for RISC-V is lacking in the Fedora system packages, so installing Debian via Distrobox is useful for debugging.

Install Distrobox:

# Fedora
sudo dnf install distrobox

# Ubuntu/Debian
sudo apt install distrobox

Install Debian 12 with distrobox:

distrobox-create --name kdev --image debian:12
distrobox enter kdev

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors