July 2nd, 2024

The Linux Kernel Matures to Having a Minimum Rust Toolchain Version

The Linux kernel is advancing to support multiple Rust compiler versions, starting with 1.78.0 and adding 1.79.0. This progress aims to stabilize Rust for Linux, enhancing driver and kernel code development efficiency.

Read original articleLink Icon
The Linux Kernel Matures to Having a Minimum Rust Toolchain Version

The Linux kernel is progressing towards establishing a minimum Rust toolchain version, allowing for support of multiple Rust compiler versions. Lead developer Miguel Ojeda has submitted patches to enable targeting different versions of the Rust compiler, starting with a minimum of 1.78.0 and adding support for 1.79.0. This development aims to accommodate distributions like Arch Linux, Debian Unstable, Fedora, Gentoo, Nix, and openSUSE Tumbleweed. The Rust for Linux project is now undergoing build testing in Rust's pre-merge CI to prevent unintentional changes that could break the kernel. This effort signifies a significant step towards stabilizing the Rust for Linux ecosystem, potentially leading to more efficient Rust-based drivers and kernel code development. The proposed patches for handling multiple Rust toolchain versions are under discussion, with the goal of finalizing support in upcoming kernel cycles. This advancement could streamline the development process by providing a consistent Rust toolchain version for Linux kernel support.

Related

More ARM Linux Laptops Are on the Way

More ARM Linux Laptops Are on the Way

More ARM Linux laptops are emerging, including Tuxedo Computers' "Drako" with Qualcomm's Snapdragon X Elite chipset to rival Apple's M2. This signals progress in ARM-based Linux devices, supported by Qualcomm's collaboration with Linaro for smoother integration. Challenges persist in ensuring compatibility and driver support, akin to Windows ARM laptops and Apple silicon MacBooks.

SquirrelFS: Using the Rust compiler to check file-system crash consistency

SquirrelFS: Using the Rust compiler to check file-system crash consistency

The paper introduces SquirrelFS, a crash-safe file system using Rust's typestate pattern for compile-time operation order enforcement. Synchronous Soft Updates ensure crash safety by maintaining metadata update order. SquirrelFS offers correctness guarantees without separate proofs, quickly verifying crash consistency during compilation. Comparative evaluations show SquirrelFS performs similarly or better than NOVA and WineFS.

Homegrown Rendering with Rust

Homegrown Rendering with Rust

Embark Studios develops a creative platform for user-generated content, emphasizing gameplay over graphics. They leverage Rust for 3D rendering, introducing the experimental "kajiya" renderer for learning purposes. The team aims to simplify rendering for user-generated content, utilizing Vulkan API and Rust's versatility for GPU programming. They seek to enhance Rust's ecosystem for GPU programming.

CVE-2021-4440: A Linux CNA Case Study

CVE-2021-4440: A Linux CNA Case Study

The Linux CNA mishandled CVE-2021-4440 in the 5.10 LTS kernel, causing information leakage and KASLR defeats. The issue affected Debian Bullseye and SUSE's 5.3.18 kernel, resolved in version 5.10.218.

Using SIMD for Parallel Processing in Rust

Using SIMD for Parallel Processing in Rust

SIMD is vital for performance in Rust. Options include auto-vectorization, platform-specific intrinsics, and std::simd module. Balancing performance, portability, and ease of use is key. Leveraging auto-vectorization and intrinsics optimizes Rust projects for high-performance computing, multimedia, systems programming, and cryptography.

Link Icon 2 comments
By @rnestler - 4 months
I maintain an AUR package which builds a Rust enabled kernel: https://aur.archlinux.org/packages/linux-rust

So far I just pinned the rustc version used by requiring rustup as a build dependency. Let's see if this lets me drop it or if it is still easier in the end to build with pinned version.