Skip to content

Commit b2cf5d5

Browse files
authored
Merge pull request #253 from rust-osdev/next
This Month in Rust OSDev: March 2025
2 parents 9984edd + bf3ba5a commit b2cf5d5

File tree

1 file changed

+152
-0
lines changed

1 file changed

+152
-0
lines changed

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

+152
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
+++
2+
title = "This Month in Rust OSDev: March 2025"
3+
date = 2025-04-06
4+
5+
[extra]
6+
month = "March 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 (March 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+
- [Rust, compiled to Holy C, running on TempleOS](https://www.reddit.com/r/rust/comments/1jp9227/media_rust_compiled_to_holly_c_running_on_templeos/)
36+
- [My non-unix like rust OS SafaOS, now has a rust libstd port](https://www.reddit.com/r/rust/comments/1jkkufh/media_my_nonunix_like_rust_os_safaos_now_has_a/)
37+
- [Introducing Ariel OS - an embedded library OS for small MCUs](https://www.reddit.com/r/rust/comments/1jo070l/introducing_ariel_os_an_embedded_library_os_for/)
38+
- [Stalloc: fast memory allocation on the stack](https://www.reddit.com/r/rust/comments/1jqjs6n/stalloc_fast_memory_allocation_on_the_stack/)
39+
40+
## Infrastructure and Tooling
41+
42+
In this section, we collect recent updates to `rustc`, `cargo`, and other tooling that are relevant to Rust OS development.
43+
44+
<!--
45+
Please use the following template:
46+
47+
- [Title](https://example.com)
48+
- (optional) Some additional context
49+
-->
50+
51+
- [Allow `*const W<dyn A> -> *const dyn A` ptr cast](https://github.com/rust-lang/rust/pull/136127)
52+
- [Stabilize `asm_goto` feature gate](https://github.com/rust-lang/rust/pull/133870)
53+
54+
## `rust-osdev` Projects
55+
56+
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.
57+
58+
<!--
59+
Please use the following template:
60+
61+
### [`repo_name`](https://github.com/rust-osdev/repo_name)
62+
<span class="maintainers">Maintained by [@maintainer_1](https://github.com/maintainer_1)</span>
63+
64+
The `repo_name` crate ...<<short introduction>>...
65+
66+
We merged the following changes this month:
67+
<<changelog, either in list or text form>>
68+
-->
69+
70+
71+
### [`uefi-rs`](https://github.com/rust-osdev/uefi-rs)
72+
<span class="maintainers">Maintained by [@GabrielMajeri](https://github.com/GabrielMajeri), [@nicholasbishop](https://github.com/nicholasbishop), and [@phip1611](https://github.com/phip1611)</span>
73+
74+
`uefi` makes it easy to develop Rust software that leverages safe, convenient,
75+
and performant abstractions for UEFI functionality.
76+
77+
We merged the following PRs this month:
78+
79+
- [uefi: Implement SignalEvent() boot services function](https://github.com/rust-osdev/uefi-rs/pull/1556)
80+
- [uefi: Improve handling of null-address allocations in allocate_pages](https://github.com/rust-osdev/uefi-rs/pull/1558)
81+
- [uefi: Mark all function pointers in pxe::BaseCode unsafe](https://github.com/rust-osdev/uefi-rs/pull/1552)
82+
- [uefi: Exclude null byte from CStr8 Display impl](https://github.com/rust-osdev/uefi-rs/pull/1553)
83+
- [nix: switch to Nix Flake](https://github.com/rust-osdev/uefi-rs/pull/1560)
84+
- [Fix unwanted rebuilds in xtask commands](https://github.com/rust-osdev/uefi-rs/pull/1559)
85+
- [Create FUNDING.yml](https://github.com/rust-osdev/uefi-rs/pull/1563)
86+
- [Implement conversions for IpAddress and MacAddress](https://github.com/rust-osdev/uefi-rs/pull/1564)
87+
- [uefi: Clean up error docs in media protocols](https://github.com/rust-osdev/uefi-rs/pull/1568)
88+
- [uefi: Reformat `use` items in pxe module](https://github.com/rust-osdev/uefi-rs/pull/1567)
89+
- [uefi: Consistently use `&mut self` for pxe::BaseCode methods](https://github.com/rust-osdev/uefi-rs/pull/1566)
90+
- [ci: fix typos](https://github.com/rust-osdev/uefi-rs/pull/1571)
91+
- [Update Protocol/unsafe_protocol docs](https://github.com/rust-osdev/uefi-rs/pull/1574)
92+
- [uefi: Use uefi_raw's `PxeBaseCodeProtocol` to implement the internals of `pxe::BaseCode`](https://github.com/rust-osdev/uefi-rs/pull/1576)
93+
- [uefi-raw: Add DiskInfo protocol binding](https://github.com/rust-osdev/uefi-rs/pull/1580)
94+
- [uefi-raw: Add EXT_SCSI_PASS_THRU protocol binding](https://github.com/rust-osdev/uefi-rs/pull/1581)
95+
- [uefi runtime: Increase default size of name buffer](https://github.com/rust-osdev/uefi-rs/pull/1579)
96+
- [uefi-raw: Add conversions to/from core::net IP address types](https://github.com/rust-osdev/uefi-rs/pull/1582)
97+
- [uefi: Enable unsafe_op_in_unsafe_fn lint](https://github.com/rust-osdev/uefi-rs/pull/1585)
98+
- [uefi: Make pxe::Mode an opaque struct](https://github.com/rust-osdev/uefi-rs/pull/1583)
99+
- [uefi: Implement safe wrapper for EFI_DISK_INFO_PROTOCOL](https://github.com/rust-osdev/uefi-rs/pull/1590)
100+
- [uefi-raw: Add EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL bindings](https://github.com/rust-osdev/uefi-rs/pull/1591)
101+
- [uefi-raw: Add documentation to ScsiIoScsiRequestPacket](https://github.com/rust-osdev/uefi-rs/pull/1593)
102+
- [uefi-raw: Add EFI_ATA_PASS_THRU_PROTOCOL bindings](https://github.com/rust-osdev/uefi-rs/pull/1592)
103+
104+
<!-- - [chore(deps): update rust crate log to v0.4.26](https://github.com/rust-osdev/uefi-rs/pull/1555) -->
105+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1565) -->
106+
<!-- - [chore(deps): update crate-ci/typos action to v1.30.2](https://github.com/rust-osdev/uefi-rs/pull/1577) -->
107+
<!-- - [chore(deps): update rust crate log to v0.4.27](https://github.com/rust-osdev/uefi-rs/pull/1596) -->
108+
<!-- - [fix(deps): update rust crate anyhow to v1.0.97](https://github.com/rust-osdev/uefi-rs/pull/1561)
109+
- [fix(deps): update rust crate clap to v4.5.31](https://github.com/rust-osdev/uefi-rs/pull/1562)
110+
- [fix(deps): update rust crate syn to v2.0.100](https://github.com/rust-osdev/uefi-rs/pull/1569)
111+
- [fix(deps): update rust crate tempfile to v3.19.1](https://github.com/rust-osdev/uefi-rs/pull/1588)
112+
- [fix(deps): update rust crate quote to v1.0.40](https://github.com/rust-osdev/uefi-rs/pull/1587)
113+
- [fix(deps): update rust crate clap to v4.5.34](https://github.com/rust-osdev/uefi-rs/pull/1597) -->
114+
115+
Thanks to [@seijikun](https://github.com/seijikun), [@ifd3f](https://github.com/ifd3f), [@ptf2](https://github.com/ptf2), and [@quic-bjorande](https://github.com/quic-bjorande) for their contributions!
116+
117+
118+
### [`bootloader`](https://github.com/rust-osdev/bootloader)
119+
<span class="maintainers">Maintained by [@phil-opp](https://github.com/phil-opp) and [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13)</span>
120+
121+
The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we merged the following improvements:
122+
123+
- [remove #[no_mangle] from panic handler](https://github.com/rust-osdev/bootloader/pull/500)
124+
125+
126+
## Other Projects
127+
128+
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.
129+
130+
<!--
131+
Please use the following template:
132+
133+
### [`owner_name/repo_name`](https://github.com/rust-osdev/owner_name/repo_name)
134+
<span class="maintainers">(Section written by [@your_github_name](https://github.com/your_github_name))</span>
135+
136+
...<<your project updates>>...
137+
-->
138+
139+
### [`phil-opp/blog_os`](https://github.com/phil-opp/blog_os)
140+
<span class="maintainers">(Section written by [@phil-opp](https://github.com/phil-opp))</span>
141+
142+
We merged the following changes to the [_Writing an OS in Rust_](https://os.phil-opp.com/) blog this month:
143+
144+
- [Update blog to Rust 2024 edition](https://github.com/phil-opp/blog_os/pull/1405)
145+
- [Latam Spanish translation](https://github.com/phil-opp/blog_os/pull/1368)
146+
- [Fix translation in `zh-CN` testing post](https://github.com/phil-opp/blog_os/pull/1407)
147+
148+
Thanks to [@dobleuber](https://github.com/dobleuber) and [@JINHUILYU](https://github.com/JINHUILYU) for their contributions!
149+
150+
## Join Us?
151+
152+
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)