TheRealJoe24 wrote:
expand my OS into something usable
This is a slippery and loooooog slope, might want to consider clearly define non-goals first.
For example 'replacing grub' is a non-goal for me as I've always been amazed by its capability, and convenience.
IMHO it is more like a real OS than many 'OS projects' out there. As you might know, grub has a shell that can display files in partitions that have filesystems ranging from ZFS to EXT4, with FUSE support on top of all that. I doubt more than a tiny percentage of 'hobby OSes' can do this.
Also, any bit of convenience felt by the user for a piece of program at such a low level and early stage likely amounts to great deal of incontinence for the developer.
TheRealJoe24 wrote:
source code structures, build formats, ....... I am at a loss for what I should do next
This is a super hard problem since it isn't about how to put source files into folders, but more about how to design the whole architecture. All the modules, interfaces and the general hierarchy that puts all of them into the right places.
I'm not qualified to answer this in this context, but the typically right way to start is to spend a long time writing design documents, and be prepared that way more than a long time will be spent on deleting (as the needed changes can be so extensive there's little to salvage from the previous revisions) and re-writing the design documents down the road. This is all before the first line of code should be written.
Or don't be so serious with a hobby and have some fun while learning what you can, just take the
https://wiki.osdev.org/Cowboy_Coder route and pick whatever you are interested and start coding.
TheRealJoe24 wrote:
build formats
This is "easy", does the thing take more than a coffee break's time to build so you are annoyed? If not just use whatever lousy build system/method that builds the thing for now unless your aspiration is build engineering.