Sep 20 – 24, 2021
US/Pacific timezone

The Rust toolchain in the kernel

Sep 24, 2021, 7:05 AM
Microconference1/Virtual-Room (LPC Virtual)


LPC Virtual

Toolchains and Kernel MC Toolchains and Kernel MC


Miguel Ojeda


The Rust for Linux project is adding support for the Rust language to the Linux kernel. If the project is successful, and many drivers start to be written in Rust, then the Rust compiler and associated tools will become a key part of the kernel toolchain.

This raises many questions which we will try to answer and/or discuss with others:

  • Which particular Rust toolchain (channels, versions, etc.) is needed for the kernel? What is RUSTC_BOOTSTRAP and why we need it?
  • Which components are required to build the kernel?
  • Which parts of the standard library are required? Do they need to be compiled in a particular way?
  • Which version of LLVM rustc requires?
  • What other tooling compiling the kernel is required? e.g. bindgen.
  • What tooling is required to build the documentation?
  • How Linux distributions should distribute this Rust toolchain, e.g. should it be a separate one from the main Rust packages they may otherwise have?
  • Should we provide pre-compiled Rust toolchains from
  • Which architectures are supported so far by LLVM? Which ones may be soon supported?
  • Is it possible to have GCC-built kernels with Rust support? To which degree is it supported?
  • Which are the alternative Rust compilers and how advanced they are?, e.g. gcc-rs (the new GCC frontend for Rust), rustc_codegen_gcc (the new rustc backend for GCC) and mrustc (the bootstrapping compiler).
I agree to abide by the anti-harassment policy I agree

Primary author

Miguel Ojeda

Presentation materials