A toy RISC-V kernel built with Zig for OS exploration (WIP).
  • Zig 97.5%
  • Linker Script 1.6%
  • Assembly 0.9%
Find a file
2026-08-19 21:29:33 +08:00
assets docs: update demo webp 2026-07-05 21:17:24 +08:00
bootloader chore: add banner and select sbi for level 2026-05-02 11:07:11 +08:00
docs docs: add MIT License 2026-07-06 01:43:40 +08:00
os feat: user for temp 2026-07-06 18:38:42 +08:00
.gitattributes chore: add .gitattributes 2026-07-03 03:33:39 +08:00
.gitignore chore: rm fxxking .DS_Store 2026-05-05 00:47:30 +08:00
build.zig refactor: split super and user mode 2026-07-05 09:15:30 +08:00
build.zig.zon chore: use Zig 0.16.0 2026-06-15 00:53:38 +08:00
LICENSE docs: add MIT License 2026-07-06 01:43:40 +08:00
mise.toml chore: add mise.toml 2026-08-10 12:17:03 +08:00
Onlyfile chore: update Onlyfile 2026-08-19 21:29:33 +08:00
README.md docs: add MIT License 2026-07-06 01:43:40 +08:00

🌱 KrcyOS

A toy RISC-V kernel built with Zig for OS exploration.

The main repository is on kercycode.

Read only mirror exists on github.


 

Motivation

Just for fun.

Prerequisites

  • Zig (pinned to 0.16.0)
  • QEMU (>=11.0.0, if you don't have a real board)
  • Only (task runner if you like)

Skill issue? Click here.

Getting Started

Clone

git clone https://code.kercy666.com/Kercy/krcyos.git
# if you prefer github:
# git clone https://github.com/KercyDing/krcyos.git
cd krcyos
# ...

Run

Note that it is supervisor-test.

zig build run
# or:
# only qemu r

Build for real board:

zig build run -Dboard=real_board
# or:
# only real r

Press Ctrl+A + X to exit qemu.

More

For user-test:

zig build run -Dmode=user
# or:
# only qemu r user

Run unit tests:

zig build test
# or:
# only test

Why not C/Rust?

No reason. Zig worth.

LICENSE

MIT