QRV Operating System: QNX on RISC-V

https://news.ycombinator.com/rss Hits: 7
Summary

QRV v0.16: Working Shell, Working IPC v0.16 boots to a working shell prompt on QEMU. pwd prints the working directory, echo works, ls lists the root filesystem, and non-existent commands report "No such file or directory". The first dynamically-linked user-space program spawns, runs, and exits through the full QNX-style IPC stack.The patches (and the build script) for v0.16 are available at https://github.com/r-tty/qrv . Getting there took about five to six days of intensive debugging in the final stretch — log analysis, trace output, one fix at a time. The shell prompt # was not some sudden revelation; it appeared early in that process, embedded in pages of rtld: and procmgr: trace lines, surrounded by the next batch of things not yet working. It is satisfying work, but "satisfying" is the right word, not "dramatic". This kind of thing is mostly meticulous and sometimes tedious. I am at peace with that. But this post is also a story about a rather long road to get here. Bear with me. RadiOS: 1998–2005 (and a bit beyond) I first tried to write an operating system in 1998. The initial attempt was called "The Hawk Operating System" and ran inside MS-DOS. It died quickly and deservedly. A second attempt followed almost immediately — a collaboration with a friend called Serhiy, named "Radionix". That one also died, this time because the architecture was simply wrong: real-mode x86, no memory protection. By October 1998 I had thrown it out and started again from scratch, this time in 386 protected mode. The new project was called RadiOS. Its SourceForge page is still there. The entire system was written in x86 assembly — NASM, later RDOFF2, and eventually a partial transition toward FreePascal. There was no C in the kernel to speak of. This sounds masochistic, and at times it was, but there was a clear logic to it at the time: I wanted to understand the hardware at the lowest possible level, and assembly left nothing hidden. RadiOS grew slowly but steadily through the ea...

First seen: 2026-03-27 10:23

Last seen: 2026-03-27 16:29