Sooooooooooo… For a long time now I’ve wanted to write an operating system. I started a couple times but the furthest I’ve gotten was just booting into an infinite loop that displayed some text at a static location on the screen. No processes, no entry, no nothing.
A few years ago (or at least what seems like it) the Raspberry Pi (I’m going to refer to it as the RPi) was announced. If you want to know the details, they have it on the RPi site. A generalized explanation of it is that it was created as a cheap computer to use for education to combat the shrinking number of students with Computer Science degrees. Since I’m obsessed with tech toys/gadgets I knew I would get one once they were released.
The RPi has since been released and is sold out pretty much everywhere that sells them. I finally ordered one a few weeks ago when I decided to stop putting it off until someone actually had one in stock. Thankfully it was shipped quickly and arrived yesterday.
Before my RPi arrived I’d seen an article about OS development focusing around the RPi. Reading through the article sort of… reinvigorated my interest in working on an OS. I realized at that point that the RPi was the perfect target for my OS. It’s a very minimal, ARM-based system that doesn’t have much more than the bare minimum required to actually run. It doesn’t even have a real-time clock built-in.
As I was reading up on various topics relating to RPi OS development I realized that the things I was learning about may be just as interesting to someone else as they were to me. I decided to document what I learn in the hopes that someone reading this will find it as a helpful, all-in-one location to get started. It’ll also be a nice reference to show me where I originally found some information if I ever need to re-read it.
The posts are going to be very informal (I dislike formalities and find them to be annoying) and may not make complete sense at times. I like to watch TV and I’m usually doing multiple things at the same time so my writing isn’t very focused. :) I’ll do my best to proof read my posts before I actually publish them, though. If anything is confusing, though, please feel free to get in contact with me and let me know so I can clarify things.