I don't know anything about OS development, but how do you implement an OS in a language whose runtime depends on an OS?
Well, the Go runtime is written in Go itself. And you can write Go without the runtime, the same way the compiler is. The hard part is that the runtime is indeed build on OS primitives (syscall mostly), that you have to implement yourself. You have to forgo all the niceties of having a runtime but you can do it. Definitely not the most productive use of Go, but it's fun and you learn a lot.
The compiler does depend on the runtime AFAIK
> The hard part is that the runtime is indeed build on OS primitives (syscall mostly), that you have to implement yourself.
This is what I was referring to. I don't know how you would do this without patching the language.