Writing an OS in Rust

Philipp Oppermann's blog

Updates in March 2020

This post gives an overview of the recent updates to the Writing an OS in Rust blog and the corresponding libraries and tools.

I focused my time this month on finishing the long-planned post about Async/Await. In addition to that, there were a few updates to the crates behind the scenes, including some great contributions and a new vga crate.

As mentioned in the Async/Await post, I’m currently looking for job in Karlsruhe (Germany) or remote, so please let me know if you’re interested.


The repository of the Writing an OS in Rust blog received the following updates:

In addition to the changes above, there were a lot of typo fixes by external contributors. Thanks a lot!


The x86_64 crate provides support for CPU-specific instructions, registers, and data structures of the x86_64 architecture. In March, there was only a single addition, which was required for the Async/Await post:


The bootloader crate received two contributions this month:


The bootimage tool builds the bootloader and creates a bootable disk image from a kernel. It received a RUSTFLAGS-related bugfix:


There is a new crate under the rust-osdev organization: vga created by @RKennedy9064. The purpose of the library is to provide abstractions for the VGA hardware. For example, the crate allows to switch the VGA hardware to graphics mode, which makes it possible to draw on a pixel-based framebuffer:

QEMU printing a box with “Hello World” in it

For more information about the crate, check out its API documentation and the GitHub repository.

Thank You!

Thanks a lot to all the contributors this month!

I also want to thank all the people who support me on GitHub, Patreon, and Donorbox. It means a lot to me!


Do you have a problem, want to share feedback, or discuss further ideas? Feel free to leave a comment here! Please stick to English and follow Rust's code of conduct. This comment thread directly maps to a discussion on GitHub, so you can also comment there if you prefer.

Instead of authenticating the giscus application, you can also comment directly on GitHub.