From fef6e9cb46a4716c147ed2939dbbcbc916563e1c Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sat, 10 May 2025 11:41:22 +0200 Subject: [PATCH 1/9] Add draft for May issue --- content/this-month/2025-05/index.md | 83 +++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 content/this-month/2025-05/index.md diff --git a/content/this-month/2025-05/index.md b/content/this-month/2025-05/index.md new file mode 100644 index 0000000..02c366f --- /dev/null +++ b/content/this-month/2025-05/index.md @@ -0,0 +1,83 @@ ++++ +title = "This Month in Rust OSDev: May 2025" +date = 2025-06-04 + +[extra] +month = "May 2025" +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. + + + + +## Infrastructure and Tooling + +In this section, we collect recent updates to `rustc`, `cargo`, and other tooling that are relevant to Rust OS development. + + + + +## `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. + + + + + +## 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. + + + + + +## 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). From d092f6e7dc22fb467441b00c6c1800b64fa6228c Mon Sep 17 00:00:00 2001 From: CharlyCst Date: Sun, 25 May 2025 12:10:15 +0200 Subject: [PATCH 2/9] Add Miralis to newletter Miralis is Rust firmware that just got is v0.1 release this month. See: https://github.com/CharlyCst/miralis --- content/this-month/2025-05/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/this-month/2025-05/index.md b/content/this-month/2025-05/index.md index 02c366f..b45fc1f 100644 --- a/content/this-month/2025-05/index.md +++ b/content/this-month/2025-05/index.md @@ -44,6 +44,7 @@ In this section, we collect recent updates to `rustc`, `cargo`, and other toolin - (optional) Some additional context --> +- [Miralis, a RISC-V virtual firmware monitor](https://github.com/CharlyCst/miralis) ## `rust-osdev` Projects From 3183df9acde3147db6428e8b2e10dd4051cbcaf6 Mon Sep 17 00:00:00 2001 From: Ron Williams Date: Wed, 4 Jun 2025 09:19:43 -0700 Subject: [PATCH 3/9] Add Redox Monthly Report for May 2025 --- content/this-month/2025-05/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/this-month/2025-05/index.md b/content/this-month/2025-05/index.md index b45fc1f..c1515cf 100644 --- a/content/this-month/2025-05/index.md +++ b/content/this-month/2025-05/index.md @@ -31,7 +31,8 @@ Please follow this template: - [Title](https://example.com) - (optional) Some additional context --> - +- [This Month in Redox](https://redox-os.org/news/this-month-250531/) + - Redox is looking for a developer in the EU - see the job description in our monthly report! ## Infrastructure and Tooling From 656d8e5c4dab32a21866522cacbde701e0c1031a Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Thu, 5 Jun 2025 11:14:52 +0200 Subject: [PATCH 4/9] Add changelog for rust-osdev projects --- content/this-month/2025-05/index.md | 55 +++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/content/this-month/2025-05/index.md b/content/this-month/2025-05/index.md index c1515cf..87b7cd2 100644 --- a/content/this-month/2025-05/index.md +++ b/content/this-month/2025-05/index.md @@ -64,6 +64,61 @@ In this section, we give an overview of notable changes to the projects hosted u --> +### [`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: + +- [release: uefi-raw-0.11.0, uefi-macros-0.18.1, uefi-0.35.0](https://github.com/rust-osdev/uefi-rs/pull/1652) +- [xtask: Add --ovmf-shell arg](https://github.com/rust-osdev/uefi-rs/pull/1656) +- [xtask: simplify env variables](https://github.com/rust-osdev/uefi-rs/pull/1657) +- [uefi: use Duration for boot::stall](https://github.com/rust-osdev/uefi-rs/pull/1659) +- [xtask: Improve error message for enums in uefi-raw](https://github.com/rust-osdev/uefi-rs/pull/1660) +- [ConfigTableEntry move constants and add example](https://github.com/rust-osdev/uefi-rs/pull/1661) +- [uefi: `system::with_*` now take mutably closure](https://github.com/rust-osdev/uefi-rs/pull/1663) +- [uefi-test-runner: streamline memory related tests](https://github.com/rust-osdev/uefi-rs/pull/1666) +- [rust: edition 2024](https://github.com/rust-osdev/uefi-rs/pull/1586) +- [Unpin uguid](https://github.com/rust-osdev/uefi-rs/pull/1673) +- [uefi: SNP transmit: document parameters](https://github.com/rust-osdev/uefi-rs/pull/1664) +- [doc: improved documentation for boot allocation functions](https://github.com/rust-osdev/uefi-rs/pull/1665) +- [uefi-raw: Add binding for EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL](https://github.com/rust-osdev/uefi-rs/pull/1658) +- [doc: streamline device path documentation between uefi-raw and uefi](https://github.com/rust-osdev/uefi-rs/pull/1641) +- [clippy: fix upcoming nightly lints](https://github.com/rust-osdev/uefi-rs/pull/1675) +- [cleanup IPConfig2/Http Protocol](https://github.com/rust-osdev/uefi-rs/pull/1640) +- [uefi: deprecated since 0.36.0](https://github.com/rust-osdev/uefi-rs/pull/1677) +- [doc: help with feature selection](https://github.com/rust-osdev/uefi-rs/pull/1676) +- [uefi: Add safe EFI_USB_IO_PROTOCOL bindings](https://github.com/rust-osdev/uefi-rs/pull/1625) +- [uefi: Add (partial) safe protocol implementation for PCI_ROOT_BRIDGE_IO_PROTOCOL](https://github.com/rust-osdev/uefi-rs/pull/1674) + + + + + + + + + + +Thanks to [@seijikun](https://github.com/seijikun), [@fox0](https://github.com/fox0), and [@JarlEvanson](https://github.com/JarlEvanson) for their contributions! + + +### [`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(sev): add AMD SEV support](https://github.com/rust-osdev/x86_64/pull/542) +- [implement functions for accessing CR8](https://github.com/rust-osdev/x86_64/pull/547) +- [Add page attribute table support](https://github.com/rust-osdev/x86_64/pull/548) + +Thanks to [@zyuiop](https://github.com/zyuiop) for their contribution! + + ## Other Projects From 420ae318f6649634dea946c2cf0ec87c15fc9d7a Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Thu, 5 Jun 2025 11:15:21 +0200 Subject: [PATCH 5/9] Set publish date --- content/this-month/2025-05/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/this-month/2025-05/index.md b/content/this-month/2025-05/index.md index 87b7cd2..a22666d 100644 --- a/content/this-month/2025-05/index.md +++ b/content/this-month/2025-05/index.md @@ -1,6 +1,6 @@ +++ title = "This Month in Rust OSDev: May 2025" -date = 2025-06-04 +date = 2025-06-05 [extra] month = "May 2025" From f1321de9a4e12b7322941712cdb42d9497810c88 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Thu, 5 Jun 2025 11:43:49 +0200 Subject: [PATCH 6/9] Skip some link checks --- config.toml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/config.toml b/config.toml index 091c42d..bb43f8e 100644 --- a/config.toml +++ b/config.toml @@ -19,16 +19,18 @@ highlight_code = true [link_checker] skip_prefixes = [ - "https://crates.io/crates", # see https://github.com/rust-lang/crates.io/issues/788 - "https://github.com", # because of rate limiting + "https://crates.io/crates", # see https://github.com/rust-lang/crates.io/issues/788 + "https://github.com", # because of rate limiting "https://rusty-hermit.k8s.eonerc.rwth-aachen.de/", # RustyHermit show case - "https://www.linux-kvm.org", # see https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/ - "https://twitter.com/", # too many redirects - "https://nitter.net/", # 403 forbidden - "https://www.reddit.com/", # 403 forbidden - "https://blog.rust.careers", # Expired certificate - "https://gee.cs.oswego.edu", # times out - "https://web.archive.org", # times out + "https://www.linux-kvm.org", # see https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/ + "https://twitter.com/", # too many redirects + "https://nitter.net/", # 403 forbidden + "https://www.reddit.com/", # 403 forbidden + "https://blog.rust.careers", # Expired certificate + "https://gee.cs.oswego.edu", # times out + "https://web.archive.org", # times out + "https://apollolabsblog.hashnode.dev", # requires js + "https://doi.org", # 403 forbidden ] [extra] From 58219208e71d4d3066253f2d589c9ca398ee4535 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Thu, 5 Jun 2025 11:44:02 +0200 Subject: [PATCH 7/9] Fix some dead links in older posts --- content/this-month/2021-04/index.md | 2 +- content/this-month/2023-06/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/this-month/2021-04/index.md b/content/this-month/2021-04/index.md index 55258a9..65037e7 100644 --- a/content/this-month/2021-04/index.md +++ b/content/this-month/2021-04/index.md @@ -88,7 +88,7 @@ Thanks to [@Knapsac](https://github.com/KnapSac) and [@toothbrush7777777](https: ### [`ovmf-prebuilt`](https://github.com/rust-osdev/ovmf-prebuilt) -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. +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. ### [`uart_16550`](https://github.com/rust-osdev/uart_16550) diff --git a/content/this-month/2023-06/index.md b/content/this-month/2023-06/index.md index 72c7783..7e1d7f9 100644 --- a/content/this-month/2023-06/index.md +++ b/content/this-month/2023-06/index.md @@ -27,7 +27,7 @@ Here we collect news, blog posts, etc. related to OS development in Rust. - [Redox OS elects its first Board of Directors](https://www.redox-os.org/news/board-meeting-2023-06-21/) - [Frida 16.1.0 Released](https://frida.re/news/2023/06/23/frida-16-1-0-released/) -- [Intercepting Allocations with the Global Allocator](https://bd103.github.io/blog/2023-06-27-global-allocators/) +- [Intercepting Allocations with the Global Allocator](https://web.archive.org/web/20250513072029/https://bd103.github.io/blog/2023-06-27-global-allocators/) - [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) - 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/) - 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/) From e276d7fa7bf735d2d1ef3ca6ac7dbca6888e2c1f Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Thu, 5 Jun 2025 11:51:27 +0200 Subject: [PATCH 8/9] Add news and infra sections --- content/this-month/2025-05/index.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/content/this-month/2025-05/index.md b/content/this-month/2025-05/index.md index a22666d..8e84a97 100644 --- a/content/this-month/2025-05/index.md +++ b/content/this-month/2025-05/index.md @@ -31,8 +31,18 @@ Please follow this template: - [Title](https://example.com) - (optional) Some additional context --> + +- [Miralis, a RISC-V virtual firmware monitor](https://github.com/CharlyCst/miralis) - [This Month in Redox](https://redox-os.org/news/this-month-250531/) - Redox is looking for a developer in the EU - see the job description in our monthly report! +- [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/) +- [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) +- [Edit is now open source](https://devblogs.microsoft.com/commandline/edit-is-now-open-source/) +- [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/) +- [First look at Blinksy](https://blog.mikey.nz/first-look-at-blinksy/) - A Rust no-std no-alloc LED control library for spatial layouts +- [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/) +- [RusTOS - Small RTOS in Rust](https://www.reddit.com/r/rust/comments/1kgx126/rustos_small_rtos_in_rust/) +- [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/) ## Infrastructure and Tooling @@ -45,7 +55,7 @@ In this section, we collect recent updates to `rustc`, `cargo`, and other toolin - (optional) Some additional context --> -- [Miralis, a RISC-V virtual firmware monitor](https://github.com/CharlyCst/miralis) +- [aarch64-softfloat: forbid enabling the neon target feature](https://github.com/rust-lang/rust/pull/135160) ## `rust-osdev` Projects From 8938dee4b5df6b4f333098f33efeb33232cf38a8 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Thu, 5 Jun 2025 11:51:36 +0200 Subject: [PATCH 9/9] Empty section note --- content/this-month/2025-05/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/this-month/2025-05/index.md b/content/this-month/2025-05/index.md index 8e84a97..eddebc1 100644 --- a/content/this-month/2025-05/index.md +++ b/content/this-month/2025-05/index.md @@ -144,6 +144,7 @@ In this section, we describe updates to Rust OS projects that are not directly r --> +No projects updates were submitted this month. ## Join Us?