This might not be a what you (or others) want to hear, but starting with Rust is not a terribly good idea. Rust will be great, but you need to learn system design concepts, not some programming language that might be used to implement system software in the future.
If I were you, I'd start with C (read K&R) and then move on to understanding Unix (write a few tools using libc), then try a kernel driver or maybe some embedded programming. You'll have billions of lines of C source code to learn from, there are plenty of books that teach systems programming using C (in various contexts) and it's really not that scary once you know what not to do (but it will take time).
Example projects to attempt: write a trivial kernel for an embedded device; implement paging in a toy kernel that doesn't have it; write a web server; write a C compiler for MIPS (optionally with optimizations); write a CPU emulator (8086, Z80, MIPS, ARM); write an assembler; write a malloc()/free() replacement; write an ELF loader to execute Linux binaries; write a 'tar' replacement.
The examples might sound daunting, but they don't have to be big, production-quality programs - those take years, these would take several months of part time work (if that). You will learn a lot. Also, there are online courses that teach you all of this (look at Computer Architecture, Operating System and Compiler courses), lots of textbooks (fairly expensive, but worth reading) and toy kernels/projects to use (things like Minix, Nachos, cheap ARM boards, etc).
If I were you, I'd start with C (read K&R) and then move on to understanding Unix (write a few tools using libc), then try a kernel driver or maybe some embedded programming. You'll have billions of lines of C source code to learn from, there are plenty of books that teach systems programming using C (in various contexts) and it's really not that scary once you know what not to do (but it will take time).
Example projects to attempt: write a trivial kernel for an embedded device; implement paging in a toy kernel that doesn't have it; write a web server; write a C compiler for MIPS (optionally with optimizations); write a CPU emulator (8086, Z80, MIPS, ARM); write an assembler; write a malloc()/free() replacement; write an ELF loader to execute Linux binaries; write a 'tar' replacement.
The examples might sound daunting, but they don't have to be big, production-quality programs - those take years, these would take several months of part time work (if that). You will learn a lot. Also, there are online courses that teach you all of this (look at Computer Architecture, Operating System and Compiler courses), lots of textbooks (fairly expensive, but worth reading) and toy kernels/projects to use (things like Minix, Nachos, cheap ARM boards, etc).