InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises. Learn more →
Rust-for-Linux Alternatives
Similar projects and alternatives to Rust-for-Linux
-
-
-
InfluxDB
Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.
-
-
-
-
-
no-panic
Attribute macro to require that the compiler prove a function can't ever panic
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
-
-
-
-
-
ripgrep
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
-
-
kerla
A new operating system kernel with Linux binary compatibility written in Rust.
-
-
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
-
compiler-explorer
Run compilers interactively from your web browser and interact with the assembly
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Rust-for-Linux reviews and mentions
-
how to compile a rust "hello world" with kernel 6.1?
Note that this template won't work with Linux 6.1, which has very minimal Rust support. You'll want the RustForLinux tree, or maybe Linux 6.2.
-
Rust in the 6.2 Kernel
> Also we’re bringing NPM style supply chain problems to the kernel now?
Nope. They've thought that through.
(In fact, cargo is only used to build test helpers. https://github.com/Rust-for-Linux/linux/blob/rust/Documentat...)
-
Asahi Lina on her experience writing a driver in rust
The alloc library is available if a global allocator is available. Rust for Linux implements a global allocator (or, more accurately, hooks into the kernel's existing allocator, in rust/kernel/allocator.rs), and therefore you can use the alloc library in the Linux kernel.
-
Rust for Linux officially merged
Here's the tracking issue for unstable features used.
-
Initial Rust support is now merged into the Linux kernel!
There’s a Github repo for the Rust support and the maintainers actually accept pull requests and issues there. They’re quite responsive too and you’ll get excellent feedback on your submissions.
- LKML: Linus Torvalds: Re: [PATCH v9 12/27] rust: add `kernel` crate
-
It’s happening: Rust for Linux inclusion PR for 6.1-rc1
Don't quote me on this, but I do not think that rust will be required to build the kernel for at least a while - their docs specify make LLVM=1 rustavailable, which makes me think that by default it will be built without it. At this time, I think the main focus for now is allowing kernel drivers to be written in Rust (interfacing via provided abstractions over provided bindings), which should be possible without needing the entire kernel to be built with rust enabled. (link to the RFL docks directory if you're interested)
I'm no kernel expert, but it looks like it's mostly the "kernel" crate and some glue code. You can take a look around here: https://github.com/rust-for-linux/linux
You can start here: https://github.com/Rust-for-Linux/linux/tree/rust/Documentation/rust
-
A pair of Rust kernel modules
Rust for Linux tracks the list of "Required" / "Good to have" features from Rust itself. The set of things from that first category which aren't in Stable Rust has been shrinking but isn't zero.
https://github.com/Rust-for-Linux/linux/issues/2
I don't believe there is a "Special interest group" but since the only comparable team to Rust for Linux would be a hypothetical "NT kernel with Rust" group, to some extent it's hard to argue with what they say they need when they come to Rust teams, e.g. library. Of course just because Rust for Linux wants X doesn't magically mean X is the top priority for the people working in that area, or even in some cases that Rust is going to ever do X. Sometimes the answer will be, as it has been for alloc, well, too bad then, make your own.
Linus really doesn't like implicit allocation, this is one thing he didn't like about C++. But Rust's own alloc has lots of implicit allocation. For example its String can be appended to, even using an operator like in Java or C++ which means the heap allocation just grows. But what if there's no more RAM? So, in Rust for Linux such features don't exist.
In both your desktop Rust and Rust for Linux, we can have a variable of type String, like &str it's UTF-8 encoded text, but unlike &str we can have mutable Strings. In desktop Rust you can just write my_string += " and then we ate a whole cake,"; and Rust will grow the String if necessary to fit on this extra text. But that's an implied allocation, so in Rust for Linux, this won't compile, the Rust for Linux String type doesn't have that += operator.
-
A note from our sponsor - InfluxDB
www.influxdata.com | 7 Feb 2023
Stats
Rust-for-Linux/linux is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.