r/rust • u/tatetian • 21h ago
🛠️ project Asterinas 0.19.0: a Linux-compatible kernel in Rust, now with a type-checked device model, a hypervisor in safe Rust, and an AI reviewer that cites Rust guidelines
https://asterinas.github.io/2026/10/13/announcing-asterinas-0.19.0.html2
6
u/xantiema 17h ago
People hate on AI-assisted development, but I genuinely hope this project is a success. Not only because it would attract future programmers to a Rust-oriented operating ecosystem, but also because Linux is long in the tooth and lost in its ways
4
u/Bruno_Wallner 13h ago
How has linux lost its ways?
-11
u/xantiema 13h ago
They have quite an agressive attitude towards eager developers due to the ever-increasing stress the maintainers are under - this begun a few years prior to the AI patchapocalypse. Experience comes with age, but the corrolation isn't always as strong as some would argue. At least they came around to Rust so there is that I guess.
3
u/jking13 12h ago
Yes, but the syscall layer being the effective ABI was always a bad design choice and a result of Linux being a kernel and not a kernel + base userland. There's decades of cruft in there (go look at all the options of futex, look at how many are actually useful in practice, and how many were poorly thought out ideas that are still around because there's some random version of some libc somewhere still using it), and the result is rather bloated syscall interface because you can't break userland.
Other OSes (including Windows) that require you to use libc (or some other userland library as it's ABI) means you move bits to userland for sanity or better design without breaking things.
Keeping that is perpetuating one of the worst aspects of Linux.
-2
u/Jmc_da_boss 20h ago edited 20h ago
Mod approvals queue PLEASE
I don't want this slop shit to enter my eyeballs
Edit: apparently not slop? That title is still horrific tho
19
u/Most_Strike_93 20h ago
No, it is an old project, started two years ago. Just the post is written in wrong way. I also mistake at the first time. Then I enter and read the project. It is a good project.
-10
u/Sha1rholder 20h ago
What kind of hilarious project did you write that made you think the project was slop?
-12
19
u/tatetian 21h ago edited 21h ago
Maintainer here. Asterinas is a Linux-ABI-compatible kernel in Rust. The architecture we call a framekernel: a small framework crate, OSTD, holds all the unsafe code, and the kernel above it is
#![deny(unsafe_code)]. Each release tries to push more kernel work into the safe half. Three examples from 0.19.0:aster-devicecrate does it in safe Rust: buses, drivers, classes and attributes are generic over what they belong to, so a driver on the wrong bus or an attribute on the wrong kind of device is a compile error. No downcasting anywhere.rust-type-invariants,enum-over-dyn,narrow-visibility,justify-unsafe-use). Theaster-code-reviewskill cites one for every subjective comment, tries to refute each comment before keeping it, and is tuned against a benchmark of 138 defects mined from our own PR history.Also new: a DRM subsystem (Xorg and Mesa, with two 3D games on video), AArch64 as the fourth architecture, and Asterinas building and booting Asterinas. The repo passed 100 contributors and 250K lines this cycle, about 200K of them Rust.
Happy to answer questions about the project, its type-level tricks or the unsafe boundary in OSTD.