Hello and welcome to the first issue of This Week in intermezzOS! intermezzOS is a learning operating system with a companion book, written in Rust for the x86_64 platform. This is a weekly(ish) summary of its progress and community. For other news about the project, you can follow us on Twitter: @intermezzOSrs.

This week’s edition was edited by: steveklabnik.

Repository for the book: https://github.com/intermezzOS/book

Today, the latest chapter of the book was merged: the start of Chapter 4: Transitioning to Long Mode. We’re almost done with assembly code and almost on to Rust, finally!

Repository for the kernel: https://github.com/intermezzOS/kernel

The kernel hasn’t seen a ton of work as of late, since it’s farther ahead than the book, but there’s been a few small things:

Users no longer need to build their own libcore. This is a pretty big usability improvement to the build system

A new make target, distclean.. Building on top of the new libcore work, we don’t want to have to re-build it every single time. So where previously, clean cleaned everything, now clean will only clean the kernel code, and distclean will clean everything as though you freshly downloaded the source.

cleaned everything, now will only clean the kernel code, and will clean everything as though you freshly downloaded the source. kmain() was marked as divergent. I had shared an anecdote about a bug; the bug happened because kmain() could return. It shouldn’t be able to, though, so this is more correct.

RFCs

Repository for RFCs: https://github.com/intermezzOS/rfcs

We haven’t had any new RFCs lately.

Other news

UPenn is using Rust for a class of theirs: CIS 198. Steve dropped by and did a guest lecture on intermezzOS, which you can watch on YouTube.