RISC-V operating system
- 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
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-dependenciescargo buildcargo runTo exit QEMU, type Ctrl-A then X
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
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 distroboxInstall Debian 12 with distrobox:
distrobox-create --name kdev --image debian:12
distrobox enter kdev