Hasty Briefsbeta

Bilingual

QRV Operating System: QNX on RISC-V

4 days ago
  • #operating-systems
  • #RISC-V
  • #microkernel
  • QRV v0.16 achieves a working shell prompt on QEMU with basic commands like pwd, echo, and ls functioning.
  • The development involved intensive debugging over five to six days, focusing on meticulous and sometimes tedious work.
  • RadiOS, an earlier project by the author, evolved from assembly to a QNX-compatible microkernel but stalled due to the complexity of assembly and life changes.
  • Access to QNX Neutrino source code in 2008-2009 under the QNX Community License 2.0 provided valuable insights for the author's work.
  • A RISC-V port of QNX was initiated in December 2020, paused for five years, and resumed in February 2026, leading to significant progress in three weeks.
  • v0.16 demonstrates full IPC functionality, dynamic linking, and user-space process management, with a shell that can execute commands like ls.
  • The project simplifies the original QNX codebase by removing certain features and replacing the build system, while preserving core microkernel architecture.
  • Several challenging bugs were encountered during the LP64 transition, including struct layout mismatches and unsigned underflow issues.
  • The author used Claude Opus 4.6 as a tool for reasoning through technical challenges and generating boilerplate code.
  • The project aims to preserve and develop the QNX architecture further, advocating for relicensing the historical QNX source code under Apache License 2.0 to foster community development.