Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

kernel-docs: Add new section for Rust learning materials

Include a new section in the Index of Further Kernel Documentation with
resources to learn Rust. Reference it in the Rust index. The resources
are a product of a survey among assistants to the conference Kangrejos'24.

Signed-off-by: Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
Reviewed-by: Dirk Behme <dirk.behme@de.bosch.com>
Acked-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20240922160411.274949-1-carlos.bilbao.osdev@gmail.com

authored by

Carlos Bilbao and committed by
Jonathan Corbet
d0b34360 3c8ead6f

+155 -11
+152 -11
Documentation/process/kernel-docs.rst
··· 72 72 programming. Lots of examples. Currently the new version is being 73 73 actively maintained at https://github.com/sysprog21/lkmpg. 74 74 75 - * Title: **Rust for Linux** 76 - 77 - :Author: various 78 - :URL: https://rust-for-linux.com/ 79 - :Date: rolling version 80 - :Keywords: glossary, terms, linux-kernel. 81 - :Description: From the website: "Rust for Linux is the project adding 82 - support for the Rust language to the Linux kernel. This website is 83 - intended as a hub of links, documentation and resources related to 84 - the project". 85 - 86 75 Published books 87 76 --------------- 88 77 ··· 208 219 collaborative events, Linux conferences including LinuxCon, and 209 220 other original research and content related to Linux and software 210 221 development. 222 + 223 + Rust 224 + ---- 225 + 226 + * Title: **Rust for Linux** 227 + 228 + :Author: various 229 + :URL: https://rust-for-linux.com/ 230 + :Date: rolling version 231 + :Keywords: glossary, terms, linux-kernel, rust. 232 + :Description: From the website: "Rust for Linux is the project adding 233 + support for the Rust language to the Linux kernel. This website is 234 + intended as a hub of links, documentation and resources related to 235 + the project". 236 + 237 + * Title: **Learn Rust the Dangerous Way** 238 + 239 + :Author: Cliff L. Biffle 240 + :URL: https://cliffle.com/p/dangerust/ 241 + :Date: Accessed Sep 11 2024 242 + :Keywords: rust, blog. 243 + :Description: From the website: "LRtDW is a series of articles 244 + putting Rust features in context for low-level C programmers who 245 + maybe don’t have a formal CS background — the sort of people who 246 + work on firmware, game engines, OS kernels, and the like. 247 + Basically, people like me.". It illustrates line-by-line 248 + conversions from C to Rust. 249 + 250 + * Title: **The Rust Book** 251 + 252 + :Author: Steve Klabnik and Carol Nichols, with contributions from the 253 + Rust community 254 + :URL: https://doc.rust-lang.org/book/ 255 + :Date: Accessed Sep 11 2024 256 + :Keywords: rust, book. 257 + :Description: From the website: "This book fully embraces the 258 + potential of Rust to empower its users. It’s a friendly and 259 + approachable text intended to help you level up not just your 260 + knowledge of Rust, but also your reach and confidence as a 261 + programmer in general. So dive in, get ready to learn—and welcome 262 + to the Rust community!". 263 + 264 + * Title: **Rust for the Polyglot Programmer** 265 + 266 + :Author: Ian Jackson 267 + :URL: https://www.chiark.greenend.org.uk/~ianmdlvl/rust-polyglot/index.html 268 + :Date: December 2022 269 + :Keywords: rust, blog, tooling. 270 + :Description: From the website: "There are many guides and 271 + introductions to Rust. This one is something different: it is 272 + intended for the experienced programmer who already knows many 273 + other programming languages. I try to be comprehensive enough to be 274 + a starting point for any area of Rust, but to avoid going into too 275 + much detail except where things are not as you might expect. Also 276 + this guide is not entirely free of opinion, including 277 + recommendations of libraries (crates), tooling, etc.". 278 + 279 + * Title: **Fasterthanli.me** 280 + 281 + :Author: Amos Wenger 282 + :URL: https://fasterthanli.me/ 283 + :Date: Accessed Sep 11 2024 284 + :Keywords: rust, blog, news. 285 + :Description: From the website: "I make articles and videos about how 286 + computers work. My content is long-form, didactic and exploratory 287 + — and often an excuse to teach Rust!". 288 + 289 + * Title: **Comprehensive Rust** 290 + 291 + :Author: Android team at Google 292 + :URL: https://google.github.io/comprehensive-rust/ 293 + :Date: Accessed Sep 13 2024 294 + :Keywords: rust, blog. 295 + :Description: From the website: "The course covers the full spectrum 296 + of Rust, from basic syntax to advanced topics like generics and 297 + error handling". 298 + 299 + * Title: **The Embedded Rust Book** 300 + 301 + :Author: Multiple contributors, mostly Jorge Aparicio 302 + :URL: https://docs.rust-embedded.org/book/ 303 + :Date: Accessed Sep 13 2024 304 + :Keywords: rust, blog. 305 + :Description: From the website: "An introductory book about using 306 + the Rust Programming Language on "Bare Metal" embedded systems, 307 + such as Microcontrollers". 308 + 309 + * Title: **Experiment: Improving the Rust Book** 310 + 311 + :Author: Cognitive Engineering Lab at Brown University 312 + :URL: https://rust-book.cs.brown.edu/ 313 + :Date: Accessed Sep 22 2024 314 + :Keywords: rust, blog. 315 + :Description: From the website: "The goal of this experiment is to 316 + evaluate and improve the content of the Rust Book to help people 317 + learn Rust more effectively.". 318 + 319 + * Title: **New Rustacean** (podcast) 320 + 321 + :Author: Chris Krycho 322 + :URL: https://newrustacean.com/ 323 + :Date: Accessed Sep 22 2024 324 + :Keywords: rust, podcast. 325 + :Description: From the website: "This is a podcast about learning 326 + the programming language Rust—from scratch! Apart from this spiffy 327 + landing page, all the site content is built with Rust's own 328 + documentation tools.". 329 + 330 + * Title: **Opsem-team** (repository) 331 + 332 + :Author: Operational semantics team 333 + :URL: https://github.com/rust-lang/opsem-team/tree/main 334 + :Date: Accessed Sep 22 2024 335 + :Keywords: rust, repository. 336 + :Description: From the README: "The opsem team is the successor of 337 + the unsafe-code-guidelines working group and responsible for 338 + answering many of the difficult questions about the semantics of 339 + unsafe Rust". 340 + 341 + * Title: **You Can't Spell Trust Without Rust** 342 + 343 + :Author: Alexis Beingessner 344 + :URL: https://repository.library.carleton.ca/downloads/1j92g820w?locale=en 345 + :Date: 2015 346 + :Keywords: rust, master, thesis. 347 + :Description: This thesis focuses on Rust's ownership system, which 348 + ensures memory safety by controlling data manipulation and 349 + lifetime, while also highlighting its limitations and comparing it 350 + to similar systems in Cyclone and C++. 351 + 352 + * Name: **Linux Plumbers (LPC) 2024 Rust presentations** 353 + 354 + :Title: Rust microconference 355 + :URL: https://lpc.events/event/18/sessions/186/#20240918 356 + :Title: Rust for Linux 357 + :URL: https://lpc.events/event/18/contributions/1912/ 358 + :Title: Journey of a C kernel engineer starting a Rust driver project 359 + :URL: https://lpc.events/event/18/contributions/1911/ 360 + :Title: Crafting a Linux kernel scheduler that runs in user-space 361 + using Rust 362 + :URL: https://lpc.events/event/18/contributions/1723/ 363 + :Title: openHCL: A Linux and Rust based paravisor 364 + :URL: https://lpc.events/event/18/contributions/1956/ 365 + :Keywords: rust, lpc, presentations. 366 + :Description: A number of LPC talks related to Rust. 367 + 368 + * Name: **The Rustacean Station Podcast** 369 + 370 + :URL: https://rustacean-station.org/ 371 + :Keywords: rust, podcasts. 372 + :Description: A community project for creating podcast content for 373 + the Rust programming language. 211 374 212 375 ------- 213 376
+3
Documentation/rust/index.rst
··· 56 56 arch-support 57 57 testing 58 58 59 + You can also find learning materials for Rust in its section in 60 + :doc:`../process/kernel-docs`. 61 + 59 62 .. only:: subproject and html 60 63 61 64 Indices