Honestly this is a bit of a fantasy. If you love Rust and hate C, and haven't looked into kernel development before ... it's a whole different ball-game than user-space Rust. With a variety of real-world hardware, and the complexity of modern CPUs, and demands of a variety of complex user-space software, you just don't have the "guarantees" and conveniences you want, at this layer. The hardware does what it does and you just have to deal with it. User-space C code can be way easier to reason about. For a small taste see https://lkml.org/lkml/2022/9/19/1105
Yes, but dealing with low-level stuff in Rust is going to be easier than doing that in C. See for example the blog post by Asahi Lina talking about how it was easier to program the M1 GPU driver in Rust than it would have been in C.