Also, your buddy allocator fills me with shame. I didn't think of doing it that way when I wrote the physical memory allocator for my hobby OS, and my algorithm is way slow to initialize as a result of how I did it. I'm thinking I might have to go and revisit my allocator.
Also, cool static-site-generator! Your code syntax highlighting looks great too.
Thank you for the static site generator! The code highlighting should be very similar to the tokyonight nvim colorscheme, as it uses mostly the same colors & tree-sitter queries as it!
As nice as this was to read (and I read all three parts), it's basically all the functionality of grub (or similar).
For toy OSes on x86/x86_64 the best way to get started is to use grub to do all the setup and then launch the kernel.