Maybe use and hack on Inferno? It's a VM which runs over Windows, Linux, and MacOS, and provides a stripped-down unixy environment evolved from Plan 9. The entire OS and VM is compiled from source, it's a relatively small and efficient codebase, and you learn some newer OS ideas along the way. It's written in the programming language Limbo, which is sort of half-way between C and Go. (There's a book on systems programming in Inferno with Limbo to help you along.) Best of all, when you mess something up, you can just fall back to your host OS, so you can try more. (And don't worry about upgrades, the latest full release was in 2004.;)