Skip to content

Commit f0225a6

Browse files
authored
Merge pull request #256 from rust-osdev/next
This Month in Rust OSDev: May 2025
2 parents 27c9125 + 8938dee commit f0225a6

File tree

4 files changed

+164
-11
lines changed

4 files changed

+164
-11
lines changed

config.toml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,18 @@ highlight_code = true
1919

2020
[link_checker]
2121
skip_prefixes = [
22-
"https://crates.io/crates", # see https://github.com/rust-lang/crates.io/issues/788
23-
"https://github.com", # because of rate limiting
22+
"https://crates.io/crates", # see https://github.com/rust-lang/crates.io/issues/788
23+
"https://github.com", # because of rate limiting
2424
"https://rusty-hermit.k8s.eonerc.rwth-aachen.de/", # RustyHermit show case
25-
"https://www.linux-kvm.org", # see https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/
26-
"https://twitter.com/", # too many redirects
27-
"https://nitter.net/", # 403 forbidden
28-
"https://www.reddit.com/", # 403 forbidden
29-
"https://blog.rust.careers", # Expired certificate
30-
"https://gee.cs.oswego.edu", # times out
31-
"https://web.archive.org", # times out
25+
"https://www.linux-kvm.org", # see https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/
26+
"https://twitter.com/", # too many redirects
27+
"https://nitter.net/", # 403 forbidden
28+
"https://www.reddit.com/", # 403 forbidden
29+
"https://blog.rust.careers", # Expired certificate
30+
"https://gee.cs.oswego.edu", # times out
31+
"https://web.archive.org", # times out
32+
"https://apollolabsblog.hashnode.dev", # requires js
33+
"https://doi.org", # 403 forbidden
3234
]
3335

3436
[extra]

content/this-month/2021-04/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ Thanks to [@Knapsac](https://github.com/KnapSac) and [@toothbrush7777777](https:
8888

8989
### [`ovmf-prebuilt`](https://github.com/rust-osdev/ovmf-prebuilt)
9090

91-
In order to make it easier to run UEFI disk images in [QEMU](https://www.qemu.org/) using [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF), we created a new `ovmf-prebuilt` project this month. The projects automatically downloads the latest prebuilt OVMF RPM images from [Gerd Hoffman's firmware repository](https://www.kraxel.org/repos/) and publishes the extracted `OVMF_*.fd` files as [GitHub releases](https://github.com/rust-osdev/ovmf-prebuilt/releases). A new release is created daily through a CI script. Note that the licensing terms of the [`tianocore/edk2`](https://github.com/tianocore/edk2) repository apply to the released files.
91+
In order to make it easier to run UEFI disk images in [QEMU](https://www.qemu.org/) using [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF), we created a new `ovmf-prebuilt` project this month. The projects automatically downloads the latest prebuilt OVMF RPM images from [Gerd Hoffman's firmware repository](https://web.archive.org/web/20250505152052/https://www.kraxel.org/repos/) and publishes the extracted `OVMF_*.fd` files as [GitHub releases](https://github.com/rust-osdev/ovmf-prebuilt/releases). A new release is created daily through a CI script. Note that the licensing terms of the [`tianocore/edk2`](https://github.com/tianocore/edk2) repository apply to the released files.
9292

9393
### [`uart_16550`](https://github.com/rust-osdev/uart_16550)
9494

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Here we collect news, blog posts, etc. related to OS development in Rust.
2727

2828
- [Redox OS elects its first Board of Directors](https://www.redox-os.org/news/board-meeting-2023-06-21/)
2929
- [Frida 16.1.0 Released](https://frida.re/news/2023/06/23/frida-16-1-0-released/)
30-
- [Intercepting Allocations with the Global Allocator](https://bd103.github.io/blog/2023-06-27-global-allocators/)
30+
- [Intercepting Allocations with the Global Allocator](https://web.archive.org/web/20250513072029/https://bd103.github.io/blog/2023-06-27-global-allocators/)
3131
- [Building an out-of-tree Rust Kernel Module Part Three](https://blog.rnstlr.ch/building-an-out-of-tree-rust-kernel-module-part-three.html)
3232
- Discussion: [How hard would it be to port the Rust toolchain to a new non-POSIX OS written in Rust and get it to host its own development?](https://www.reddit.com/r/rust/comments/14qvu98/how_hard_would_it_be_to_port_the_rust_toolchain/)
3333
- Discussion: [Will there be fewer jailbreaks in the future if operating systems like iOS start adopting rust?](https://www.reddit.com/r/rust/comments/14k49ho/will_there_be_fewer_jailbreaks_in_the_future_if/)

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

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
+++
2+
title = "This Month in Rust OSDev: May 2025"
3+
date = 2025-06-05
4+
5+
[extra]
6+
month = "May 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 (May 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+
- [Miralis, a RISC-V virtual firmware monitor](https://github.com/CharlyCst/miralis)
36+
- [This Month in Redox](https://redox-os.org/news/this-month-250531/)
37+
- Redox is looking for a developer in the EU - see the job description in our monthly report!
38+
- [The Linux 6.15 kernel arrives - and it's big a victory for Rust fans](https://www.zdnet.com/article/the-linux-6-15-kernel-arrives-and-its-big-a-victory-for-rust-fans/)
39+
- [Rust Coreutils 0.1 Released With Big Performance Gains - Can Match Or Exceed GNU Speed](https://www.phoronix.com/news/Rust-Coreutils-0.1-Released)
40+
- [Edit is now open source](https://devblogs.microsoft.com/commandline/edit-is-now-open-source/)
41+
- [ChromeOS Virtual Machine Monitor is written in Rust with over 300k LoC](https://www.reddit.com/r/rust/comments/1l1ue85/chromeos_virtual_machine_monitor_is_written_in/)
42+
- [First look at Blinksy](https://blog.mikey.nz/first-look-at-blinksy/) - A Rust no-std no-alloc LED control library for spatial layouts
43+
- [biski64: A Fast, no_std PRNG in Rust (~0.37ns per u64)](https://www.reddit.com/r/rust/comments/1kwe65p/biski64_a_fast_no_std_prng_in_rust_037ns_per_u64/)
44+
- [RusTOS - Small RTOS in Rust](https://www.reddit.com/r/rust/comments/1kgx126/rustos_small_rtos_in_rust/)
45+
- [A second iteration of my DOS-like hobby OS in Rust](https://www.reddit.com/r/rust/comments/1kzjzj4/a_second_iteration_of_my_doslike_hobby_os_in_rust/)
46+
47+
## Infrastructure and Tooling
48+
49+
In this section, we collect recent updates to `rustc`, `cargo`, and other tooling that are relevant to Rust OS development.
50+
51+
<!--
52+
Please use the following template:
53+
54+
- [Title](https://example.com)
55+
- (optional) Some additional context
56+
-->
57+
58+
- [aarch64-softfloat: forbid enabling the neon target feature](https://github.com/rust-lang/rust/pull/135160)
59+
60+
## `rust-osdev` Projects
61+
62+
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.
63+
64+
<!--
65+
Please use the following template:
66+
67+
### [`repo_name`](https://github.com/rust-osdev/repo_name)
68+
<span class="maintainers">Maintained by [@maintainer_1](https://github.com/maintainer_1)</span>
69+
70+
The `repo_name` crate ...<<short introduction>>...
71+
72+
We merged the following changes this month:
73+
<<changelog, either in list or text form>>
74+
-->
75+
76+
77+
### [`uefi-rs`](https://github.com/rust-osdev/uefi-rs)
78+
<span class="maintainers">Maintained by [@GabrielMajeri](https://github.com/GabrielMajeri), [@nicholasbishop](https://github.com/nicholasbishop), and [@phip1611](https://github.com/phip1611)</span>
79+
80+
`uefi` makes it easy to develop Rust software that leverages safe, convenient,
81+
and performant abstractions for UEFI functionality.
82+
83+
We merged the following PRs this month:
84+
85+
- [release: uefi-raw-0.11.0, uefi-macros-0.18.1, uefi-0.35.0](https://github.com/rust-osdev/uefi-rs/pull/1652)
86+
- [xtask: Add --ovmf-shell arg](https://github.com/rust-osdev/uefi-rs/pull/1656)
87+
- [xtask: simplify env variables](https://github.com/rust-osdev/uefi-rs/pull/1657)
88+
- [uefi: use Duration for boot::stall](https://github.com/rust-osdev/uefi-rs/pull/1659)
89+
- [xtask: Improve error message for enums in uefi-raw](https://github.com/rust-osdev/uefi-rs/pull/1660)
90+
- [ConfigTableEntry move constants and add example](https://github.com/rust-osdev/uefi-rs/pull/1661)
91+
- [uefi: `system::with_*` now take mutably closure](https://github.com/rust-osdev/uefi-rs/pull/1663)
92+
- [uefi-test-runner: streamline memory related tests](https://github.com/rust-osdev/uefi-rs/pull/1666)
93+
- [rust: edition 2024](https://github.com/rust-osdev/uefi-rs/pull/1586)
94+
- [Unpin uguid](https://github.com/rust-osdev/uefi-rs/pull/1673)
95+
- [uefi: SNP transmit: document parameters](https://github.com/rust-osdev/uefi-rs/pull/1664)
96+
- [doc: improved documentation for boot allocation functions](https://github.com/rust-osdev/uefi-rs/pull/1665)
97+
- [uefi-raw: Add binding for EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL](https://github.com/rust-osdev/uefi-rs/pull/1658)
98+
- [doc: streamline device path documentation between uefi-raw and uefi](https://github.com/rust-osdev/uefi-rs/pull/1641)
99+
- [clippy: fix upcoming nightly lints](https://github.com/rust-osdev/uefi-rs/pull/1675)
100+
- [cleanup IPConfig2/Http Protocol](https://github.com/rust-osdev/uefi-rs/pull/1640)
101+
- [uefi: deprecated since 0.36.0](https://github.com/rust-osdev/uefi-rs/pull/1677)
102+
- [doc: help with feature selection](https://github.com/rust-osdev/uefi-rs/pull/1676)
103+
- [uefi: Add safe EFI_USB_IO_PROTOCOL bindings](https://github.com/rust-osdev/uefi-rs/pull/1625)
104+
- [uefi: Add (partial) safe protocol implementation for PCI_ROOT_BRIDGE_IO_PROTOCOL](https://github.com/rust-osdev/uefi-rs/pull/1674)
105+
106+
<!-- - [chore(deps): update crate-ci/typos action to v1.32.0](https://github.com/rust-osdev/uefi-rs/pull/1654) -->
107+
<!-- - [fix(deps): update rust crate clap to v4.5.38](https://github.com/rust-osdev/uefi-rs/pull/1668) -->
108+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1669) -->
109+
<!-- - [chore(deps): update rust crate uguid to v2.2.1](https://github.com/rust-osdev/uefi-rs/pull/1653) -->
110+
<!-- - [fix(deps): update rust crate nix to 0.30.0](https://github.com/rust-osdev/uefi-rs/pull/1670) -->
111+
<!-- - [fix(deps): update rust crate mbrman to 0.6.0](https://github.com/rust-osdev/uefi-rs/pull/1671) -->
112+
<!-- - [chore(deps): update codecov/codecov-action action to v5.4.3](https://github.com/rust-osdev/uefi-rs/pull/1672) -->
113+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1678) -->
114+
115+
Thanks to [@seijikun](https://github.com/seijikun), [@fox0](https://github.com/fox0), and [@JarlEvanson](https://github.com/JarlEvanson) for their contributions!
116+
117+
118+
### [`x86_64`](https://github.com/rust-osdev/x86_64)
119+
<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>
120+
121+
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.
122+
123+
We merged the following PRs this month:
124+
125+
- [feat(sev): add AMD SEV support](https://github.com/rust-osdev/x86_64/pull/542)
126+
- [implement functions for accessing CR8](https://github.com/rust-osdev/x86_64/pull/547)
127+
- [Add page attribute table support](https://github.com/rust-osdev/x86_64/pull/548)
128+
129+
Thanks to [@zyuiop](https://github.com/zyuiop) for their contribution!
130+
131+
132+
133+
## Other Projects
134+
135+
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.
136+
137+
<!--
138+
Please use the following template:
139+
140+
### [`owner_name/repo_name`](https://github.com/rust-osdev/owner_name/repo_name)
141+
<span class="maintainers">(Section written by [@your_github_name](https://github.com/your_github_name))</span>
142+
143+
...<<your project updates>>...
144+
-->
145+
146+
147+
<span class="gray">No projects updates were submitted this month.</span>
148+
149+
## Join Us?
150+
151+
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)