My next question was going to be scope. So developing an operating system in general or like specifically Linux internals?
For now, in general. Closer to the hardware. My aim is to learn the amd64 (aka x86_64) architecture and OS fundamentals in practice. Ultimately I’d like to move on towards Linux specifics. But this is not yet my current immediate aim.
the usual CS textbooky approach would be to start with something like Minix, or some small microkernels such as seL4 other "mini operating systems" are bootloaders like GRUB and u-boot then combine it with some more general Operating Systems book that explains the fundamentals (i know no recent ones, sorry, that's too long ago for me) but don't be too intimidated by Linux, it's not all very complex code, and it's fairly well documented, though there *is* a lot of it
Okay, let me do some searching and digging and Ill see what else I have saved that might help! Have you looked into FreeRTOs? I had to dabble the tiniest bit when working on a school project a while ago. Then I got into directly working with Atmel hardware bare metal. From 2018-2023 I spent learning early 8065 (pre x86 but tightly coupled to early stuff) Something also worth looking into is the Cosmo LibC project https://github.com/jart/cosmopolitan. Justine is awesome and so is her discord! I mention this because most of her library is highly hardware optimized and plenty of asm to go around. There are a couple other folks in the discord like ahgamut and paulclinger along with some other peeps from NIST and other orgs that are just awesome to read and chat with too
I just check this repo’s readme, I love the idea. I’m gonna follow them. Thanks for the suggestion.