{"slug": "one-man-two-kernels-and-a-lot-of-risc-v", "title": "One man, two kernels, and a lot of RISC-V", "summary": "Yuri Zaporozhets of QRV Systems has built a RISC-V-based personal computer and a mainframe on an FPGA, both using the Olimex GateMate A1-EVB board. The GateMate PC emulates a late-1980s IBM PC-compatible with a 25 MHz RISC-V core, while the System/359 is a miniature mainframe inspired by IBM's System/360. Zaporozhets also developed the QSOE operating system and rewrote QNX twice.", "body_md": "Yuri Zaporozhets of [QRV Systems](https://qrv-systems.net/) is a busy chap. He's built a new RISC-V-based personal computer, a mainframe on an FPGA, and rewritten QNX – twice.\n\nSeemingly every month or two, The Reg FOSS desk gets an email telling us about some astonishing project that he has just got working. We're delighted to see that his most recent one, a new OS called [QSOE](https://qsoe.net/index.html), is winning some attention in the FOSS world at present.\n\nBut first, we thought we could tell a more complete story of how he got here by describing some of his previous projects.\n\n(By way of a disclaimer, we feel that we should say up front that he does use Anthropic's Claude LLM to help. To his credit, he does clearly state this.)\n\n### GateMate Personal Computer\n\nAt the end of 2025, Zaporozhets wrote to tell us about his [GateMate Personal Computer](https://gitlab.com/gatemate/pc). The GateMate PC is something similar to a fairly high-end late-1980s IBM PC-compatible, but instead of a 286 or 386 CPU, it has a 25 MHz RISC-V core.\n\nHe told us the main inspiration for the GateMate PC: \"The very first computer I saw in my life: an [IBM PS/2 Model 30](https://www.dosdays.co.uk/computers/IBM%20PS2%20Model%2030/ibm_ps2_model_30.php), in 1992. It also started in text mode.\" We worked on a few of those, and they were not great machines. The GateMate machine should easily outperform the later, faster [Model 30-286](https://www.userlandia.com/home/ibm-ps2-model-30-286). He also acknowledges another project: \"the [NeoRV32 softCPU](https://github.com/stnolting/neorv32) by Stefan Nolting is great.\"\n\nIt has a VGA port that can output 80x30-character text in what back then we used to call [Hi-Color](https://apple.fandom.com/wiki/16-bit_color), 8 KB of ROM containing a BIOS, and – although it's still in the early stages – its own OS, which he calls GMDOS. The characters are double-byte ones using [UCS-2 Unicode](https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding).\n\nThe GateMate gets its name from the host hardware because the design is mostly software: it's implemented on an inexpensive FPGA board, the €50 [Olimex GateMate A1-EVB](https://www.olimex.com/Products/FPGA/GateMate/GateMateA1-EVB/open-source-hardware) (that's about £42 or $57). Its video controller is an original design, and he has added extra RAM: the machine has 8 MB of additional PSRAM on two chips, via a [QSPI interface](https://embeddedinventor.com/quad-spi-everything-you-need-to-know/).\n\nHe blogged about the project, from [receiving the board](https://r-tty.blogspot.com/2025/08/the-board-is-on-table.html) last August to [getting a PLL working](https://r-tty.blogspot.com/2025/08/slowly-getting-to-basics.html), to [getting video out of it](https://r-tty.blogspot.com/search/label/txtmode-ucs2-video).\n\nThe Olimex GateMate board can do a lot more, though – which leads us to his next project.\n\n### GateMate System/359\n\nAlso implemented on the same FPGA board is Zaporozhets' miniature mainframe, the [System/359](https://gitlab.com/gatemate/s359). This isn't a clone of the [IBM System/360 mainframe series](https://www.theregister.com/on-prem/2014/04/07/why-wont-you-die-ibms-s/360-and-its-legacy-at-50/365150), the machines that introduced the idea of different computers being software compatible – it’s more of a tribute to it. For starters, the S/359 is a little-endian machine, while the [S/390 is big-endian](https://refspecs.linuxbase.org/ELF/zSeries/lzsabi0_s390.html#BYTEORDERING).\n\nSo it's not binary-compatible with the mainframe architecture, but it's similar. He [started the project](https://r-tty.blogspot.com/2026/01/one-less-than-360.html) in January, and later that month, writing [about its assembler](https://r-tty.blogspot.com/2026/01/asm359-enhancements.html), said: \"GMS/359 keeps what's beautiful about S/360 – the channel I/O model, the clean instruction formats, the [PSW](https://en.wikipedia.org/wiki/Program_status_word) concept – while quietly modernizing the rest. Little-endian bytes. Opcode-first encoding. PC-relative addressing. No more base register juggling. The '/359' isn't a typo. It's a declaration: inspired by, not compatible with.\"\n\nZaporozhets told *The Register*: \"There is a working assembler with the POWERFUL macroprocessor – from NASM. I was a NASM contributor from 1999 to 2004 and maintained its RDOFF2 part. Now RDOFF2 is removed from NASM 3.0, but it continues to live in my asm359 project.\n\n\"Currently the processor can execute the simple IPL; channel I/O controller works (PS/2 kbd, UART, SYSINFO, even crypto processor (!)). Once I finish the PSRAM module, I will start working with SYS1.NUCLEUS.\"\n\nSo we can take it that as well as RISC-V and FPGAs, he has some familiarity with low-level systems design. His next project was with an OS that a lot of folks admire: QNX.\n\n### Porting QNX 6.4 to RISC-V\n\nAlthough Zaporozhets wrote to us about this back in March, he also went public with it in a Reddit post: [QNX 6.4 kernel ported to RISC-V; petition to BlackBerry to relicense old QNX sources under Apache 2.0](https://www.reddit.com/r/QNX/comments/1s04zre/qnx_64_kernel_ported_to_riscv_petition_to/).\n\nQNX has an on-again-off-again relationship with FOSS. QNX has been around since the 1980s, as we reported when the company made [QNX 8 non-commercial freeware](https://www.theregister.com/software/2024/11/11/qnx-8-goes-freeware-for-non-commercial-use/425694) in 2024. In that article, we mentioned that [QNX published the source code](https://www.qnx.com/news/pr_2471_1.html) of an earlier version back in 2007. Back then, QNX was self-hosting and had its own desktop environment – we showed a screenshot of its Neutrino GUI in our [roundup of non-Linux PC OSes](https://www.theregister.com/software/2013/11/01/fed-up-with-windows-linux-too-easy-get-weird-go-alternative/727787) back in 2013, and GUIdebook has a whole [screenshot gallery](https://guidebookgallery.org/screenshots/qnx621).\n\nThe next year, that QNX 6.4 source code was mirrored from SourceForge over to GitHub, and [it's still there](https://github.com/vocho/openqnx). Zaporozhets took this long-obsolete codebase and ported it to RISC-V, targeting his own [FU740 \"workstation](https://www.sifive.com/boards/hifive-unmatched-revb).\" It's not the whole OS, just \"the kernel, the process manager, the C library, the runtime linker.\" And the license is very restrictive: you can study it and compile it, but not redistribute it.\n\nHe started this effort over Christmas 2020. \"The timing made sense in a particular way. RISC-V had matured. The toolchains were stable. The original QNX sources were 32-bit ILP32, targeting x86, ARM, MIPS, SH, and PPC – no 64-bit port existed, let alone RISC-V. Doing the LP64 transition and the architecture port in a single effort seemed like exactly the kind of large, difficult, satisfying project that a long holiday lockdown invites.\"\n\nBut after the initial effort, it languished for five years. When he came back to it, he ended up with a substantial rewrite. He calls the result [QRV](https://github.com/r-tty/qrv).\n\nIn March, he described this in a blog post, [QRV Operating System: First Publication](https://r-tty.blogspot.com/2026/03/qrv-operating-system-first-publication.html). As he puts it: \"For clarity: QRV is not a patch on the original QNX sources. It is a ground-up reworking of the 32-bit ILP32 codebase into a 64-bit LP64 system for RISC-V, with deliberate simplifications.\"\n\nBy the end of April, QRV v0.27 could [boot to multi-user login](https://r-tty.blogspot.com/2026/04/qrv-v027-multi-user-login-two-months.html). A month later, he declared the project finished with [version 0.43](https://r-tty.blogspot.com/2026/05/qrv-v041v043-lock-free-era-and-final.html): \"This is the last development post for QRV. The project set out to port QNX Neutrino 6.4 to RISC-V 64-bit, run it on real hardware, and explore what it would take to bring a clean microkernel architecture to a modern open ISA. Those goals are met. v0.43 is the final release.\"\n\nWhere next? Well, as the QNX kernel is not truly open source, then the only path forward is to switch to another kernel, one that is truly FOSS. Well, we say \"one\"… ¿Por qué no los dos?\n\n### QSOE – Quick and Secure Operating Environment\n\nThe result is [QSOE](https://qsoe.net/index.html): \"QSOE ships in two variants that share one userspace and one build system. QSOE/N runs on Skimmer, a microkernel written from scratch for this project (SMP by design); QSOE/L runs on seL4 as its kernel.\"\n\nAs The Register covered back in 2014, Secure Embedded L4 is a [formally verified microkernel OS](https://www.theregister.com/security/2014/07/28/secure-microkernel-that-uses-maths-to-be-bug-free-goes-open-source/1196944). We have written about other OSes that use it before: in 2022, we [described the new Neptune OS project](https://www.theregister.com/software/2022/02/24/neptune-os-to-add-windows-personality-to-sel4-microkernel/1009077), which is a combination of seL4, ReactOS, and Wine. Then, in 2025, we [looked at Ironclad](https://www.theregister.com/software/2025/11/10/ironclad-os-crafts-unix-like-kernel-in-ada-and-spark/541310), which combines seL4 with the C-based Gloire and an Ada layer.\n\nThere are some very serious precedents for building around seL4, but QSOE doesn't stop there: it also has its own homegrown kernel, called Skimmer, that’s designed for multiprocessor machines. Zaporozhets has been working in this area for a long time. On the QSOE site, he mentions his effort to build [a free QNX-like operating system](https://qsoe-dev.blogspot.com/2026/06/a-free-qnx-like-operating-system-2003.html) back in 2003. It's still online – it is called [RadiOS](https://radios.sourceforge.net/).\n\nIn [How QSOE started](https://qsoe-dev.blogspot.com/2026/05/how-qsoe-started.html), he describes the inspiration: as a fallback option, a Plan B, if his [petition to BlackBerry](https://github.com/r-tty/qrv/blob/main/PETITION.md) did not succeed. We sympathize. When we wrote about QNX 8, we got nothing useful back from the company either.\n\nInstead, he took all he learned from writing RadiOS and building QRV – via the GateMate PC and mini-mainframe – and did it himself instead. Now [he has released QSOE version 0.1](https://qsoe-dev.blogspot.com/2026/06/qsoe-project-v01-is-released.html). It's under the Apache 2.0 license, and its [source code is on GitLab](https://gitlab.com/qsoe). He also has a new [development blog](https://qsoe-dev.blogspot.com/).\n\nYes, Claude may be involved, but he was already developing these ideas 20 years [before ChatGPT launched](https://www.theregister.com/software/2022/12/03/openai-opens-doors-to-chatgpt-a-conversational-ai-model/1016861). ®", "url": "https://wpnews.pro/news/one-man-two-kernels-and-a-lot-of-risc-v", "canonical_source": "https://www.theregister.com/software/2026/06/26/one-man-two-kernels-and-a-lot-of-risc-v/5262858", "published_at": "2026-06-26 13:46:00+00:00", "updated_at": "2026-06-26 14:07:58.489459+00:00", "lang": "en", "topics": ["artificial-intelligence", "computer-vision", "ai-research"], "entities": ["QRV Systems", "Yuri Zaporozhets", "Olimex GateMate A1-EVB", "GateMate PC", "System/359", "QSOE", "IBM PS/2 Model 30", "NeoRV32"], "alternates": {"html": "https://wpnews.pro/news/one-man-two-kernels-and-a-lot-of-risc-v", "markdown": "https://wpnews.pro/news/one-man-two-kernels-and-a-lot-of-risc-v.md", "text": "https://wpnews.pro/news/one-man-two-kernels-and-a-lot-of-risc-v.txt", "jsonld": "https://wpnews.pro/news/one-man-two-kernels-and-a-lot-of-risc-v.jsonld"}}