ukernel-sys on crates.io — Type-Safe Rust All the Way Down
Today we published ukernel-sys on crates.io — the system interface types for µKernel. This is the first Rust sys crate published for any RTOS or microkernel.
Rust all the way down
Most RTOS vendors ship a C SDK. You include their headers, call their functions, and hope you got the void* casts right. The type safety boundary is the C ABI — the compiler can't help you.
µKernel's interface is Rust. Your application compiles against typed kernel operations. The compiler catches misuse at build time, not at runtime in a fault handler on deployed hardware.
We recently validated this end-to-end:
[USP 3] Hello from ukernel-std! [USP 3] Vec works: len=3 [USP 3] String works: Rust all the way down [USP 3] ukernel-hello: all tests passed
That's println!(), heap allocation, and string formatting running through Rust std on µKernel. No C libc. No musl. No glibc. The only unsafe is at the hardware boundary — auditable blocks with safety justifications referencing the relevant hardware specifications.
Why this matters
Every major network OS is a C application on a commodity Unix kernel. The forwarding engine, the control plane, the management plane — all C, all memory-unsafe. CVEs in these systems are overwhelmingly memory safety bugs: buffer overflows, use-after-free, null pointer dereferences.
µKernel eliminates this class of bug structurally. The kernel is Rust. The application runtime is Rust. The interface between them is typed and compiler-verified. Memory safety isn't a testing goal — it's a property of the language.
The crate
Your application uses standard Rust std — println!(), Vec, TcpStream, File — all work normally. The ukernel-sys crate defines the kernel interface underneath: operation types and the contract between userspace and the kernel. It's no_std internally so it can be used at every layer of the stack, but your application code doesn't need to be.
No other RTOS or microkernel publishes their kernel interface as a Rust crate. seL4, Hubris, Zephyr, Tock — none of them are on crates.io.
Explore the interface
The kernel interface is published and documented. When you're ready to build on µKernel, contact licensing.