Re: [PATCH] kernel-docs: Add new section for Rust learning materials

From: Carlos Bilbao
Date: Fri Sep 13 2024 - 11:33:24 EST


On 9/12/24 00:01, Dirk Behme wrote:

> On 11.09.2024 20:59, Carlos Bilbao wrote:
>> Include a new section in the Index of Further Kernel Documentation with
>> resources to learn Rust. Reference it in the Rust index.
> Many thanks for creating the patch! Looks nice :)
>
> Whats about adding
>
> https://google.github.io/comprehensive-rust/
>
> https://docs.rust-embedded.org/book/
>
> additionally?


You got it! I’ll send v2 in a few mins.


>
> Best regards
>
> Dirk
>
>
>> Signed-off-by: Carlos Bilbao <carlos.bilbao.osdev@xxxxxxxxx>
>> ---
>> Documentation/process/kernel-docs.rst | 111 +++++++++++++++++++++++---
>> Documentation/rust/index.rst | 3 +
>> 2 files changed, 103 insertions(+), 11 deletions(-)
>>
>> diff --git a/Documentation/process/kernel-docs.rst b/Documentation/process/kernel-docs.rst
>> index 55552ec4b043..d917accd7fc3 100644
>> --- a/Documentation/process/kernel-docs.rst
>> +++ b/Documentation/process/kernel-docs.rst
>> @@ -72,17 +72,6 @@ On-line docs
>> programming. Lots of examples. Currently the new version is being
>> actively maintained at https://github.com/sysprog21/lkmpg.
>>
>> - * Title: **Rust for Linux**
>> -
>> - :Author: various
>> - :URL: https://rust-for-linux.com/
>> - :Date: rolling version
>> - :Keywords: glossary, terms, linux-kernel.
>> - :Description: From the website: "Rust for Linux is the project adding
>> - support for the Rust language to the Linux kernel. This website is
>> - intended as a hub of links, documentation and resources related to
>> - the project".
>> -
>> Published books
>> ---------------
>>
>> @@ -220,6 +209,106 @@ Miscellaneous
>> other original research and content related to Linux and software
>> development.
>>
>> +Rust
>> +----
>> +
>> + * Title: **Rust for Linux**
>> +
>> + :Author: various
>> + :URL: https://rust-for-linux.com/
>> + :Date: rolling version
>> + :Keywords: glossary, terms, linux-kernel, rust.
>> + :Description: From the website: "Rust for Linux is the project adding
>> + support for the Rust language to the Linux kernel. This website is
>> + intended as a hub of links, documentation and resources related to
>> + the project".
>> +
>> + * Title: **Learning Rust the Dangerous Way**
>> +
>> + :Author: Cliff L. Biffle
>> + :URL: https://cliffle.com/p/dangerust/
>> + :Date: Accessed Sep 11 2024
>> + :Keywords: rust, blog.
>> + :Description: From the website: "LRtDW is a series of articles
>> + putting Rust features in context for low-level C programmers who
>> + maybe don’t have a formal CS background — the sort of people who
>> + work on firmware, game engines, OS kernels, and the like.
>> + Basically, people like me.". It illustrates line-by-line
>> + conversions from C to Rust.
>> +
>> + * Title: **The Rust Book**
>> +
>> + :Author: Steve Klabnik and Carol Nichols, with contributions from the
>> + Rust community
>> + :URL: https://doc.rust-lang.org/book/
>> + :Date: Accessed Sep 11 2024
>> + :Keywords: rust, book.
>> + :Description: From the website: "This book fully embraces the
>> + potential of Rust to empower its users. It’s a friendly and
>> + approachable text intended to help you level up not just your
>> + knowledge of Rust, but also your reach and confidence as a
>> + programmer in general. So dive in, get ready to learn—and welcome
>> + to the Rust community!".
>> +
>> + * Title: **Rust for the Polyglot Programmer**
>> +
>> + :Author: Ian Jackson
>> + :URL: https://www.chiark.greenend.org.uk/~ianmdlvl/rust-polyglot/index.html
>> + :Date: December 2022
>> + :Keywords: rust, blog, tooling.
>> + :Description: From the website: "There are many guides and
>> + introductions to Rust. This one is something different: it is
>> + intended for the experienced programmer who already knows many
>> + other programming languages. I try to be comprehensive enough to be
>> + a starting point for any area of Rust, but to avoid going into too
>> + much detail except where things are not as you might expect. Also
>> + this guide is not entirely free of opinion, including
>> + recommendations of libraries (crates), tooling, etc.".
>> +
>> + * Title: **Fasterthanli.me**
>> +
>> + :Author: Amos Wenger
>> + :URL: https://fasterthanli.me/
>> + :Date: Accessed Sep 11 2024
>> + :Keywords: rust, blog, news.
>> + :Description: From the website: "I make articles and videos about how
>> + computers work. My content is long-form, didactic and exploratory
>> + — and often an excuse to teach Rust!".
>> +
>> + * Title: **You Can't Spell Trust Without Rust**
>> +
>> + :Author: Alexis Beingessner
>> + :URL: https://repository.library.carleton.ca/downloads/1j92g820w?locale=en
>> + :Date: 2015
>> + :Keywords: rust, master, thesis.
>> + :Description: This thesis focuses on Rust's ownership system, which
>> + ensures memory safety by controlling data manipulation and
>> + lifetime, while also highlighting its limitations and comparing it
>> + to similar systems in Cyclone and C++.
>> +
>> + * Name: **Linux Plumbers (LPC) Rust presentations**
>> +
>> + :Title: Rust microconference
>> + :URL: https://lpc.events/event/18/sessions/186/#20240918
>> + :Title: Rust for Linux
>> + :URL: https://lpc.events/event/18/contributions/1912/
>> + :Title: Journey of a C kernel engineer starting a Rust driver project
>> + :URL: https://lpc.events/event/18/contributions/1911/
>> + :Title: Crafting a Linux kernel scheduler that runs in user-space
>> + using Rust
>> + :URL: https://lpc.events/event/18/contributions/1723/
>> + :Title: openHCL: A Linux and Rust based paravisor
>> + :URL: https://lpc.events/event/18/contributions/1956/
>> + :Keywords: rust, lpc, presentations.
>> + :Description: A number of LPC talks related to Rust.
>> +
>> + * Name: **The Rustacean Station Podcast**
>> +
>> + :URL: https://rustacean-station.org/
>> + :Keywords: rust, podcasts.
>> + :Description: A community project for creating podcast content for
>> + the Rust programming language.
>> +
>> -------
>>
>> This document was originally based on:
>> diff --git a/Documentation/rust/index.rst b/Documentation/rust/index.rst
>> index 46d35bd395cf..01f09216c229 100644
>> --- a/Documentation/rust/index.rst
>> +++ b/Documentation/rust/index.rst
>> @@ -42,6 +42,9 @@ configurations.
>> arch-support
>> testing
>>
>> +You can also find learning materials for Rust in its section in
>> +:doc:`../process/kernel-docs`.
>> +
>> .. only:: subproject and html
>>
>> Indices


Thanks, Carlos