From C to Rust: Bringing Rust Abstractions to Embedded Linux
summary
Linux gains only minimal Rust support (merged around v6.x), so effort focuses on building concrete driver abstractions for Embedded Linux rather than theory. Work produces a regulator and DSI panel drivers that wire into rmap field API, regulator consumer, DRM connector, GPIO and I2C; the code compiles and uncovers a real bug: Rust moves break C-initialized linked lists and cause a crash. Many core pieces remain missing subsystems: clocks pinctrl runtime PM DMA, merging upstream is slow and GCC-Rust support is still required for wider use.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:38Why Rust
- 9:29Learning Rust
- 15:02Bringing Rust to Linux
- 20:32What did I learn
- 24:32What I liked
- 29:34Why not R
- 30:37Drivers
- 32:04Spy
- 32:35Maintenance Cycles
- 34:24Cargo in the Kernel
- 35:30Size implications
- 37:02Autogenerate abstractions
related talks
39mFrom C to Rust: Bringing Rust Abstractions to Embedded Linux
37mRust for Linux
20mAn Empirical Study of Rust-for-Linux: The Success, Dissatisfaction, and Compromise
46mRust for Linux
27mRust in the Linux kernel
51mRust in the Linux kernel
18mKeynote: Rust and Linux: How the Rust Language is Going to Help Linux Succeed in the Future
35mRUST Meets Embedded Linux: Build Memory Safe and Reliable Kernel Modules, Applications
