Skip to content

Commit 16e80c6

Browse files
authored
Merge pull request #261 from rust-osdev/next
This Month in Rust OSDev: June 2025
2 parents 3b74dc9 + 3ce179a commit 16e80c6

File tree

1 file changed

+202
-0
lines changed

1 file changed

+202
-0
lines changed

content/this-month/2025-06/index.md

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
+++
2+
title = "This Month in Rust OSDev: June 2025"
3+
date = 2025-07-09
4+
5+
[extra]
6+
month = "June 2025"
7+
editors = ["phil-opp"]
8+
+++
9+
10+
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.
11+
12+
<!-- more -->
13+
14+
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 <a href="#comment-form">_comment form_</a> at the bottom of this page.
15+
16+
<!--
17+
This is a draft for the upcoming "This Month in Rust OSDev (June 2025)" post.
18+
Feel free to create pull requests against the `next` branch to add your
19+
content here.
20+
Please take a look at the past posts on https://rust-osdev.com/ to see the
21+
general structure of these posts.
22+
-->
23+
24+
## Announcements, News, and Blog Posts
25+
26+
Here we collect news, blog posts, etc. related to OS development in Rust.
27+
28+
<!--
29+
Please follow this template:
30+
31+
- [Title](https://example.com)
32+
- (optional) Some additional context
33+
-->
34+
35+
- [Munal OS: a fully graphical experimental OS with WASM-based application sandboxing](https://www.reddit.com/r/rust/comments/1l7av38/media_munal_os_a_fully_graphical_experimental_os/)
36+
- [SafaOS now has USB support and a working aarch64 port](https://www.reddit.com/r/rust/comments/1litijp/media_my_rust_os_safaos_now_has_usb_support_and_a/)
37+
- [R9: a reimplementation of the plan9 kernel in Rust](https://github.com/r9os/r9)
38+
- [This Month in Redox - June 2025](https://www.redox-os.org/news/this-month-250630/)
39+
- [Ratatui alpha with no-std support released](https://jslazak.com/are-we-embedded-yet-2/)
40+
- crate for creating terminal user interfaces
41+
- [flat_rbtree: A fast, index-based Red-Black Tree with no heap allocations](https://github.com/matheus-git/flat_rbtree)
42+
43+
### Linux-related
44+
45+
- [Kernel Memory Safety: Mission Accomplished](https://asterinas.github.io/2025/06/04/kernel-memory-safety-mission-accomplished.html)
46+
- [How to write Rust in the kernel: part 2](https://lwn.net/SubscriberLink/1025232/fbb2d90d084368e3/)
47+
- [A Newbie's First Contribution to (Rust for) Linux](https://blog.buenzli.dev/rust-for-linux-first-contrib/)
48+
- [Writing a basic Linux device driver when you know nothing about Linux drivers or USB](https://crescentro.se/posts/writing-drivers/)
49+
50+
## Infrastructure and Tooling
51+
52+
In this section, we collect recent updates to `rustc`, `cargo`, and other tooling that are relevant to Rust OS development.
53+
54+
<!--
55+
Please use the following template:
56+
57+
- [Title](https://example.com)
58+
- (optional) Some additional context
59+
-->
60+
61+
- [Stabilizing naked functions](https://blog.rust-lang.org/2025/07/03/stabilizing-naked-functions/)
62+
- [Add new Tier-3 targets: `loongarch32-unknown-none*`](https://github.com/rust-lang/rust/pull/142053)
63+
- [Allow storing `format_args!()` in a variable](https://github.com/rust-lang/rust/pull/140748)
64+
65+
## `rust-osdev` Projects
66+
67+
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.
68+
69+
<!--
70+
Please use the following template:
71+
72+
### [`repo_name`](https://github.com/rust-osdev/repo_name)
73+
<span class="maintainers">Maintained by [@maintainer_1](https://github.com/maintainer_1)</span>
74+
75+
The `repo_name` crate ...<<short introduction>>...
76+
77+
We merged the following changes this month:
78+
<<changelog, either in list or text form>>
79+
-->
80+
81+
### [`uefi-rs`](https://github.com/rust-osdev/uefi-rs)
82+
<span class="maintainers">Maintained by [@GabrielMajeri](https://github.com/GabrielMajeri), [@nicholasbishop](https://github.com/nicholasbishop), and [@phip1611](https://github.com/phip1611)</span>
83+
84+
`uefi` makes it easy to develop Rust software that leverages safe, convenient,
85+
and performant abstractions for UEFI functionality.
86+
87+
We merged the following PRs this month:
88+
89+
- [Updating Uefi Raw for EFI Shell Protocol](https://github.com/rust-osdev/uefi-rs/pull/1680)
90+
- [SNP Integration Test: Improve Clarity](https://github.com/rust-osdev/uefi-rs/pull/1621)
91+
- [ci: Temporarily pin to older nightly](https://github.com/rust-osdev/uefi-rs/pull/1689)
92+
- [fix typo `ctr16!` to `cstr16!`](https://github.com/rust-osdev/uefi-rs/pull/1686)
93+
- [xtask: Allow clippy::collapsible_if lint](https://github.com/rust-osdev/uefi-rs/pull/1694)
94+
- [uefi: Fix clippy::uninlined_format_args lint](https://github.com/rust-osdev/uefi-rs/pull/1693)
95+
- [test-runner: Fix clippy::uninlined_format_args lint](https://github.com/rust-osdev/uefi-rs/pull/1692)
96+
- [uefi: Fix clippy::unnecessary_unwrap lint](https://github.com/rust-osdev/uefi-rs/pull/1691)
97+
- [Fix mismatched_lifetime_syntaxes lint](https://github.com/rust-osdev/uefi-rs/pull/1690)
98+
- [uefi: Make PciIoAddress orderable and hashable](https://github.com/rust-osdev/uefi-rs/pull/1682)
99+
- [uefi: Fix io-align == 0 edgecase handling for ata & nvme](https://github.com/rust-osdev/uefi-rs/pull/1698)
100+
- [uefi-raw: Add HII_CONFIG_ACCESS and CONFIG_KEYWORD_HANDLER protocol bindings](https://github.com/rust-osdev/uefi-rs/pull/1683)
101+
- [doc/uefi: improve Protocol documentation](https://github.com/rust-osdev/uefi-rs/pull/1612)
102+
- [Fix lints/tests on nightly and unpin the CI nightly version](https://github.com/rust-osdev/uefi-rs/pull/1703)
103+
- [uefi-services: prepare v0.26.0 release to accelerate migration/deprecation](https://github.com/rust-osdev/uefi-rs/pull/1709)
104+
- [uefi-services: remove again](https://github.com/rust-osdev/uefi-rs/pull/1712)
105+
- [uefi/test-runner: Remove `crate::` and `uefi::` prefix from Status](https://github.com/rust-osdev/uefi-rs/pull/1714)
106+
107+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1681) -->
108+
<!-- - [chore(deps): update crate-ci/typos action to v1.33.1](https://github.com/rust-osdev/uefi-rs/pull/1696) -->
109+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1697) -->
110+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1702) -->
111+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1707) -->
112+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1715) -->
113+
114+
Thanks to [@seijikun](https://github.com/seijikun), [@nicholasbishop](https://github.com/nicholasbishop), [@phip1611](https://github.com/phip1611), [@renovate[bot]](https://github.com/apps/renovate), [@RenTrieu](https://github.com/RenTrieu), and [@diamant3](https://github.com/diamant3) for their contributions!
115+
116+
117+
### [`ovmf-prebuilt`](https://github.com/rust-osdev/ovmf-prebuilt)
118+
<span class="maintainers">Maintained by [@nicholasbishop](https://github.com/nicholasbishop) and [@phil-opp](https://github.com/phil-opp)</span>
119+
120+
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:
121+
122+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/ovmf-prebuilt/pull/181)
123+
- [chore(deps): lock file maintenance](https://github.com/rust-osdev/ovmf-prebuilt/pull/182)
124+
- [chore(deps): lock file maintenance](https://github.com/rust-osdev/ovmf-prebuilt/pull/183)
125+
- [chore(deps): lock file maintenance](https://github.com/rust-osdev/ovmf-prebuilt/pull/185) -->
126+
- [Split Source constants into a new file](https://github.com/rust-osdev/ovmf-prebuilt/pull/186)
127+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/ovmf-prebuilt/pull/187) -->
128+
129+
130+
### [`multiboot2`](https://github.com/rust-osdev/multiboot2)
131+
<span class="maintainers">Maintained by [@phip1611](https://github.com/phip1611)</span>
132+
133+
_Convenient and safe parsing of Multiboot2 Boot Information (MBI) structures and
134+
the contained information tags. Usable in no_std environments, such as a kernel.
135+
An optional builder feature also allows the construction of the corresponding
136+
structures._
137+
138+
We merged the following PRs this month:
139+
140+
- [update workspace, Rust edition 2024, fixes](https://github.com/rust-osdev/multiboot2/pull/267)
141+
<!-- - [build(deps): bump crate-ci/typos from 1.31.2 to 1.32.0](https://github.com/rust-osdev/multiboot2/pull/269)
142+
- [build(deps): bump uefi-raw from 0.8.0 to 0.11.0](https://github.com/rust-osdev/multiboot2/pull/268) -->
143+
144+
145+
### [`virtio-spec-rs`](https://github.com/rust-osdev/virtio-spec-rs)
146+
<span class="maintainers">Maintained by [@mkroening](https://github.com/mkroening)</span>
147+
148+
The `virtio-spec` crate provides definitions from the Virtual I/O Device (VIRTIO) specification.
149+
This project aims to be unopinionated regarding actual VIRTIO drivers that are implemented on top of this crate.
150+
151+
We merged the following PRs this month:
152+
153+
- [ci: run Miri](https://github.com/rust-osdev/virtio-spec-rs/pull/4)
154+
<!-- - [build(deps): upgrade dependencies](https://github.com/rust-osdev/virtio-spec-rs/pull/3) -->
155+
- [fix(net): make HdrGso an enum instead of a flag](https://github.com/rust-osdev/virtio-spec-rs/pull/2)
156+
- [add support of console](https://github.com/rust-osdev/virtio-spec-rs/pull/1)
157+
- [chore: release version 0.3.0](https://github.com/rust-osdev/virtio-spec-rs/pull/5)
158+
159+
Thanks to [@stlankes](https://github.com/stlankes) for their contribution!
160+
161+
162+
### [`bootloader`](https://github.com/rust-osdev/bootloader)
163+
<span class="maintainers">Maintained by [@phil-opp](https://github.com/phil-opp) and [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13)</span>
164+
165+
The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we merged the following improvements:
166+
167+
- [Document physical memory mapping size](https://github.com/rust-osdev/bootloader/pull/506)
168+
169+
Thanks to [@aaronzper](https://github.com/aaronzper) for their contribution!
170+
171+
172+
### [`x86_64`](https://github.com/rust-osdev/x86_64)
173+
<span class="maintainers">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)</span>
174+
175+
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.
176+
177+
We merged the following PRs this month:
178+
179+
- [Add "FMask" alias for SFMask.](https://github.com/rust-osdev/x86_64/pull/552)
180+
181+
Thanks to [@ChocolateLoverRaj](https://github.com/ChocolateLoverRaj) for their contribution!
182+
183+
184+
## Other Projects
185+
186+
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.
187+
188+
<!--
189+
Please use the following template:
190+
191+
### [`owner_name/repo_name`](https://github.com/rust-osdev/owner_name/repo_name)
192+
<span class="maintainers">(Section written by [@your_github_name](https://github.com/your_github_name))</span>
193+
194+
...<<your project updates>>...
195+
-->
196+
197+
198+
<span class="gray">No projects updates were submitted this month.</span>
199+
200+
## Join Us?
201+
202+
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).

0 commit comments

Comments
 (0)