Unwrap()Ing Rust on Embedded Linux
summary
Company migrates an embedded Linux codebase from C to Rust over 18 months using cross for reproducible cross‑compiles and Yocto with either meta‑rust or meta‑rust‑bin for image builds. Migration goes file‑by‑file with C↔Rust FFI via build.rs, cc and cmake crates; tests run as unit tests plus qemu integration. Binary size shrinks from ~4.4 MB to ~372 KB by stripping and removing the panic handler, and to ~16 KB with no_std; cargo bloat identifies the ~258 KB stdlib cost.
AI-written summary · about
chapters (12)
- 0:00Rust on embedded Linux
- 3:37Toolchain and compiler support
- 7:51Building Rust with Yocto
- 14:18Adopting Rust in projects
- 18:52Rust learning resources
- 21:19Rust borrow checker
- 24:51Errors and panics in Rust
- 27:39Rust concurrency patterns
- 30:07Optimizing Rust binary size
- 37:11Choosing size-efficient libraries
- 39:1418 months of Rust lessons
- 40:00Q&A on dynamic linking
related talks
54mUnwrap()Ing Rust on Embedded Linux
26mIntroducing Rust into a Legacy Embedded System
01h 02mRewriting of a small component from C to Rust
21mRust - Cargo Cult?
26mMoving to modern languages in long-living projects
22mFearless Refactoring
28mC2Rust: Migrating Legacy Code to Rust
39mFrom C to Rust: Bringing Rust Abstractions to Embedded Linux
