diff --git a/content/this-month/2026-01/index.md b/content/this-month/2026-01/index.md
new file mode 100644
index 0000000..9e8c172
--- /dev/null
+++ b/content/this-month/2026-01/index.md
@@ -0,0 +1,227 @@
++++
+title = "This Month in Rust OSDev: January 2026"
+date = 2027-02-04
+
+[extra]
+month = "January 2026"
+editors = ["phil-opp"]
++++
+
+Welcome to a new issue of _"This Month in Rust OSDev"_. In these posts, we give a regular overview of notable changes in the Rust operating system development ecosystem.
+
+
+
+This series is openly developed [on GitHub](https://github.com/rust-osdev/homepage/). Feel free to open pull requests there with content you would like to see in the next issue. If you find some issues on this page, please report them by [creating an issue](https://github.com/rust-osdev/homepage/issues/new) or using our _comment form_ at the bottom of this page.
+
+
+
+## Announcements, News, and Blog Posts
+
+Here we collect news, blog posts, etc. related to OS development in Rust.
+
+
+
+- [Patina - Developing UEFI With Rust](https://opendevicepartnership.github.io/patina/)
+ - Repo: https://github.com/OpenDevicePartnership/patina
+ - [Project Overview on Youtube](https://www.youtube.com/watch?v=iKzHrhpCgUI)
+- [Kernel bugs hide for 2 years on average. Some hide for 20.](https://pebblebed.com/blog/kernel-bugs)
+- [What does it take to ship Rust in safety-critical?](https://blog.rust-lang.org/2026/01/14/what-does-it-take-to-ship-rust-in-safety-critical/)
+- [The Embedded Rustacean Issue #62](https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-62)
+- [The Embedded Rustacean Issue #63](https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-63)
+
+## Infrastructure and Tooling
+
+In this section, we collect recent updates to `rustc`, `cargo`, and other tooling that are relevant to Rust OS development.
+
+
+
+- [Destabilise target-spec-json](https://github.com/rust-lang/rust/pull/150151)
+ - Custom target JSON specs now require `-Zunstable-options` again. This affects OS developers using custom targets.
+- Cargo: [add -Z json-target-spec](https://github.com/rust-lang/cargo/pull/16557)
+ - can also be enabled by adding `json-target-spec = true` to the [unstable] table in `.cargo/config.toml`
+- [The Rust GCC backend can now be installed with rustup](https://old.reddit.com/r/rust/comments/1qk9t1t/the_rust_gcc_backend_can_now_be_installed_with/)
+ - Alternative backend useful for cross-compilation and platforms where LLVM support is limited.
+- [`Vec::push` in consts MVP](https://github.com/rust-lang/rust/pull/147893)
+- [add allocator parameter to HashMap](https://github.com/rust-lang/rust/pull/148545)
+- [add `AtomicPtr::null`](https://github.com/rust-lang/rust/pull/150736)
+
+
+## `rust-osdev` Projects
+
+In this section, we give an overview of notable changes to the projects hosted under the [`rust-osdev`](https://github.com/rust-osdev/about) organization.
+
+
+
+### [`bootloader`](https://github.com/rust-osdev/bootloader)
+Maintained by [@phil-opp](https://github.com/phil-opp) and [@Freax13](https://github.com/Freax13)
+
+The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we merged the following changes:
+
+- [Add llvm-tools to components](https://github.com/rust-osdev/bootloader/pull/529)
+- [Fix overflow error during address calculation](https://github.com/rust-osdev/bootloader/pull/530)
+- [add kernel stack address to BootInfo](https://github.com/rust-osdev/bootloader/pull/531)
+- [fix "cargo build --release"](https://github.com/rust-osdev/bootloader/pull/532)
+- [Release 0.11.14](https://github.com/rust-osdev/bootloader/pull/533)
+
+Thanks to [@Wasabi375](https://github.com/Wasabi375) and [@the-ssd](https://github.com/the-ssd) for their contributions!
+
+
+### [`multiboot2`](https://github.com/rust-osdev/multiboot2)
+Maintained by [@phip1611](https://github.com/phip1611)
+
+_Convenient and safe parsing of Multiboot2 Boot Information (MBI) structures and
+the contained information tags. Usable in no_std environments, such as a kernel.
+An optional builder feature also allows the construction of the corresponding
+structures._
+
+We merged the following PRs this month:
+
+
+
+
+No notable changes this month.
+
+
+### [`ovmf-prebuilt`](https://github.com/rust-osdev/ovmf-prebuilt)
+Maintained by [@nicholasbishop](https://github.com/nicholasbishop) and [@phil-opp](https://github.com/phil-opp)
+
+The `ovmf-prebuilt` project provides pre-built [edk2](https://github.com/tianocore/edk2) releases to make it easier to set up OVMF. We merged the following improvement this month:
+
+- [ovmf-prebuilt: Add download retry](https://github.com/rust-osdev/ovmf-prebuilt/pull/254)
+- [release: 0.2.7](https://github.com/rust-osdev/ovmf-prebuilt/pull/256)
+
+
+
+
+
+
+
+
+### [`uefi-rs`](https://github.com/rust-osdev/uefi-rs)
+Maintained by [@GabrielMajeri](https://github.com/GabrielMajeri), [@nicholasbishop](https://github.com/nicholasbishop), and [@phip1611](https://github.com/phip1611)
+
+`uefi` makes it easy to develop Rust software that leverages safe, convenient,
+and performant abstractions for UEFI functionality.
+
+We merged the following PRs this month:
+
+- [uefi: improve ergonomics of Events](https://github.com/rust-osdev/uefi-rs/pull/1840)
+- [uefi: improve doc (add short glossary/important terms overview)](https://github.com/rust-osdev/uefi-rs/pull/1857)
+- [workspace: switch to resolver v3](https://github.com/rust-osdev/uefi-rs/pull/1859)
+- [flake: update (Nix shell: rust 1.86 -> 1.92)](https://github.com/rust-osdev/uefi-rs/pull/1860)
+- [Replace remaining uses of `addr_of`/`addr_of_mut` with raw pointer syntax](https://github.com/rust-osdev/uefi-rs/pull/1870)
+- [Bump MSRV to 1.88](https://github.com/rust-osdev/uefi-rs/pull/1871)
+- [uefi-raw: serial: fix mutability](https://github.com/rust-osdev/uefi-rs/pull/1872)
+- [uefi: serial: improve overall documentation](https://github.com/rust-osdev/uefi-rs/pull/1874)
+- [uefi: boot: improve documentation for handles](https://github.com/rust-osdev/uefi-rs/pull/1877)
+- [export all text::{input, output} types](https://github.com/rust-osdev/uefi-rs/pull/1880)
+- [fix(deps): update rust crate nix to 0.31.0](https://github.com/rust-osdev/uefi-rs/pull/1883)
+
+
+
+
+
+
+
+
+Thanks to [@yaroslav957](https://github.com/yaroslav957) for their contribution!
+
+
+### [`virtio-spec-rs`](https://github.com/rust-osdev/virtio-spec-rs)
+Maintained by [@mkroening](https://github.com/mkroening)
+
+The `virtio-spec` crate provides definitions from the Virtual I/O Device (VIRTIO) specification.
+This project aims to be unopinionated regarding actual VIRTIO drivers that are implemented on top of this crate.
+
+We merged the following PRs this month:
+
+- [feat(virtio-mmio): add `MAGIC_VALUE` constant](https://github.com/rust-osdev/virtio-spec-rs/pull/11)
+- [fix(virtq): clippy::manual_is_multiple_of](https://github.com/rust-osdev/virtio-spec-rs/pull/12)
+- [feat(virtio-net): add `VIRTIO_NET_F_CTRL_RX_EXTRA`](https://github.com/rust-osdev/virtio-spec-rs/pull/13)
+- [feat(virtio-net): add `VIRTIO_NET_F_GUEST_USO{4,6}`](https://github.com/rust-osdev/virtio-spec-rs/pull/14)
+- [feat(features): add `recommendations` and `recommendations_satisfied`](https://github.com/rust-osdev/virtio-spec-rs/pull/15)
+
+
+
+
+
+### [`x86_64`](https://github.com/rust-osdev/x86_64)
+Maintained by [@phil-opp](https://github.com/phil-opp), [@josephlr](https://github.com/orgs/rust-osdev/people/josephlr), and [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13)
+
+The `x86_64` crate provides various abstractions for `x86_64` systems, including wrappers for CPU instructions, access to processor-specific registers, and abstraction types for architecture-specific structures such as page tables and descriptor tables.
+
+We merged the following PRs this month:
+
+- [feat(mapper): add `MappedPageTable::display`](https://github.com/rust-osdev/x86_64/pull/574)
+- [fix(instructions): allow unused_unsafe for cpuid](https://github.com/rust-osdev/x86_64/pull/575)
+- [feat(mapper): make `OffsetPageTable` a type alias](https://github.com/rust-osdev/x86_64/pull/576)
+- [fix(mapper): inline internal `map_to_*` functions](https://github.com/rust-osdev/x86_64/pull/578)
+- [docs: fix typos](https://github.com/rust-osdev/x86_64/pull/579)
+- [feat(paging): make range types `!Copy`](https://github.com/rust-osdev/x86_64/pull/581)
+- [docs(page): fix typos](https://github.com/rust-osdev/x86_64/pull/582)
+- [feat: make page types `repr(transparent)` and range types `repr(Rust)`](https://github.com/rust-osdev/x86_64/pull/584)
+
+
+
+
+
+
+## Other Projects
+
+In this section, we describe updates to Rust OS projects that are not directly related to the `rust-osdev` organization. Feel free to [create a pull request](https://github.com/rust-osdev/homepage/pulls) with the updates of your OS project for the next post.
+
+
+
+### [`phil-opp/blog_os`](https://github.com/phil-opp/blog_os)
+(Section written by [@phil-opp](https://github.com/phil-opp))
+
+We merged the following changes to the [_Writing an OS in Rust_](https://os.phil-opp.com/) blog this month:
+
+- [Fix mention of non-existent `keyboard_task` function in async/await post](https://github.com/phil-opp/blog_os/pull/1452)
+- [Update 'Minimal Rust Kernel' post to enable unstable `json-target-spec` feature](https://github.com/phil-opp/blog_os/pull/1455)
+- [Enable unstable `json-target-spec` feature](https://github.com/phil-opp/blog_os/pull/1456)
+- [Fix translations: `no_mangle` attribute is unstable now](https://github.com/phil-opp/blog_os/pull/1457)
+
+Thanks to [@ebkalderon](https://github.com/ebkalderon) for their contribution!
+
+
+
+
+
+
+## Join Us?
+
+Are you interested in Rust-based operating system development? Our `rust-osdev` organization is always open to new members and new projects. Just let us know if you want to join! A good way for getting in touch is our [Zulip chat](https://rust-osdev.zulipchat.com).