QSOE project v0.1 is released
The first QSOE release, v0.1, is out. It bundles both kernel variants, the boot loader, the userspace, and libc into a single numbered drop, and consists of the following components:
- QSOE/N v0.17, with the custom "Skimmer" kernel.
- QSOE/L v0.14, which works together with seL4 version 15.
- mr-bml v0.5.1, a GRUB-derived boot loader with support for Multiboot 3, RISC-V Linux-style kernels, and kernels with an EFI stub.
- quser v0.5, offering an mksh-based shell (qsh).
- libc v0.6.
The two variants share the same userspace above the seam: quser, qsh, and libc are identical, with only taskman and libc.so differing per kernel. That shared userspace is the whole point — one QNX-compatible environment over two very different microkernels.
The milestone behind this release is on the QSOE/L side: it now boots from NVMe storage to an interactive login shell on the SiFive Unmatched (FU740). Spawning the first program off a mounted disk had exposed a pair of deadlocks — taskman blocked reading the spawn image while the read chain's wakes routed back through it — so the Sync* slow path and device-interrupt pulses are now kernel-direct, taking taskman out of the wake path entirely. With QSOE/N (v0.17) already spawning from its own filesystem to an interactive qsh, both variants now reach a shell on the FU740.
The source is on GitLab under Apache-2.0, at gitlab.com/qsoe. Binaries and documentation are hosted on GitHub, and download and installation instructions live on the project website, qsoe.net.
Comments
Post a Comment