🦀 🥧 rusty-pi 00: Make your Pi from Scratch!
What is rusty-pi?
So far, it’s just a baremetal blinky program, but I want to develop it into a full-fledged kernel! To double-dip on the learning experience, I’m writing this in Rust, a language I’ve wanted to pick up for systems programming.
🦀 Click the crab, she’ll take you to the code!
Each subdirectory in the project will build on the previous to accomplish a milestone like blinky, UART, etc. similar to a tutorial format.
Later, I’ll apply this work to create a kernel. I’m not looking to make a HAL-type layer to support baremetal programming, rather an entire kernel and OS if possible.
Why did am I making rusty-pi?
For the most part, a learning experience. I was inspired by the work over at rust-embedded/rust-raspberrypi-OS-tutorials and the hobby work of many similar projects I found on GitHub.
However, I look forward to the point when this might become more than just a learning experience and something useful for other Raspberry Pi hobbyists! I’d be really interested in creating an OS prioritized for an IoT or RPI cluster application. I chose the Raspberry Pi over other boards because of how feature-rich it is with its onboard hardware.
Where can I check it out?
The source code and instructions to reproduce my work on your own Raspberry Pi 4B can be found here: a-vinod/rusty-pi! I encourage you to check it out and try it out yourself.
All the sources I used throughout the development of this project will be appropriately cited on the README of the root project directory.
Each of the milestones will be associated with a blog post as well – note that they’re not really walkthroughs of the code, rather a place for me to highlight challenges I encountered and mistakes I made.