In the first of a series about not knowing how to do something, I’m trying to figure out how to make a login for intermezzos. You’ll probably know it as a hobby kernel made in Rust and built for teaching purposes.

I like it compared to Redox for the small footprint (it’s bare bones), making it a teaching point.

the thing is at @toxik-io/intermezzos-experiments if you want to see it. ticket


Starting point:

I’ve a limited knowledge of how Rust handles compiles / imports. I don’t know if it can handle circular dependancies, relative imports, or functions with similar names. That presents several doors to try crossing. (maybe rustacians have a particular way they want you to think?)

Intermezzos has a main loop in /src/main.rs, and a kprint in /src/kernel/kprint.rs.

am I supposed to externalize the kprint into its own module, to make importing it from both trivial? Should I keep it within the kernel directory?

I’m trying to initialize the login_loop function within kmain, but I don’t know the right approach to that (well, and a lot of OS design.)

maybe I should sit back and watch this youtube playlist again by wyoos.org…

write your own operating system

…and look for the part about terminals.