From e2e05f959346dcf67030e1263eeb86f4241d3311 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Tue, 4 Mar 2025 13:05:51 +0100 Subject: [PATCH 1/5] Add draft for March issue --- content/this-month/2025-03/index.md | 82 +++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 content/this-month/2025-03/index.md diff --git a/content/this-month/2025-03/index.md b/content/this-month/2025-03/index.md new file mode 100644 index 0000000..4116557 --- /dev/null +++ b/content/this-month/2025-03/index.md @@ -0,0 +1,82 @@ ++++ +title = "This Month in Rust OSDev: March 2025" +date = 2025-04-04 + +[extra] +month = "March 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 66cf825057db13236e5579a36b0a6d1076ab6734 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 6 Apr 2025 12:03:48 +0200 Subject: [PATCH 2/5] Add changelog for rust-osdev projects --- content/this-month/2025-03/index.md | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/content/this-month/2025-03/index.md b/content/this-month/2025-03/index.md index 4116557..7d7c443 100644 --- a/content/this-month/2025-03/index.md +++ b/content/this-month/2025-03/index.md @@ -60,6 +60,59 @@ 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: + +- [uefi: Implement SignalEvent() boot services function](https://github.com/rust-osdev/uefi-rs/pull/1556) +- [uefi: Improve handling of null-address allocations in allocate_pages](https://github.com/rust-osdev/uefi-rs/pull/1558) +- [uefi: Mark all function pointers in pxe::BaseCode unsafe](https://github.com/rust-osdev/uefi-rs/pull/1552) +- [uefi: Exclude null byte from CStr8 Display impl](https://github.com/rust-osdev/uefi-rs/pull/1553) +- [nix: switch to Nix Flake](https://github.com/rust-osdev/uefi-rs/pull/1560) +- [Fix unwanted rebuilds in xtask commands](https://github.com/rust-osdev/uefi-rs/pull/1559) +- [Create FUNDING.yml](https://github.com/rust-osdev/uefi-rs/pull/1563) +- [Implement conversions for IpAddress and MacAddress](https://github.com/rust-osdev/uefi-rs/pull/1564) +- [uefi: Clean up error docs in media protocols](https://github.com/rust-osdev/uefi-rs/pull/1568) +- [uefi: Reformat `use` items in pxe module](https://github.com/rust-osdev/uefi-rs/pull/1567) +- [uefi: Consistently use `&mut self` for pxe::BaseCode methods](https://github.com/rust-osdev/uefi-rs/pull/1566) +- [ci: fix typos](https://github.com/rust-osdev/uefi-rs/pull/1571) +- [Update Protocol/unsafe_protocol docs](https://github.com/rust-osdev/uefi-rs/pull/1574) +- [uefi: Use uefi_raw's `PxeBaseCodeProtocol` to implement the internals of `pxe::BaseCode`](https://github.com/rust-osdev/uefi-rs/pull/1576) +- [uefi-raw: Add DiskInfo protocol binding](https://github.com/rust-osdev/uefi-rs/pull/1580) +- [uefi-raw: Add EXT_SCSI_PASS_THRU protocol binding](https://github.com/rust-osdev/uefi-rs/pull/1581) +- [uefi runtime: Increase default size of name buffer](https://github.com/rust-osdev/uefi-rs/pull/1579) +- [uefi-raw: Add conversions to/from core::net IP address types](https://github.com/rust-osdev/uefi-rs/pull/1582) +- [uefi: Enable unsafe_op_in_unsafe_fn lint](https://github.com/rust-osdev/uefi-rs/pull/1585) +- [uefi: Make pxe::Mode an opaque struct](https://github.com/rust-osdev/uefi-rs/pull/1583) +- [uefi: Implement safe wrapper for EFI_DISK_INFO_PROTOCOL](https://github.com/rust-osdev/uefi-rs/pull/1590) +- [uefi-raw: Add EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL bindings](https://github.com/rust-osdev/uefi-rs/pull/1591) +- [uefi-raw: Add documentation to ScsiIoScsiRequestPacket](https://github.com/rust-osdev/uefi-rs/pull/1593) +- [uefi-raw: Add EFI_ATA_PASS_THRU_PROTOCOL bindings](https://github.com/rust-osdev/uefi-rs/pull/1592) + + + + + + + +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! + + +### [`bootloader`](https://github.com/rust-osdev/bootloader) +Maintained by [@phil-opp](https://github.com/phil-opp) and [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13) + +The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we merged the following improvements: + +- [remove #[no_mangle] from panic handler](https://github.com/rust-osdev/bootloader/pull/500) ## Other Projects From 5b36f28de974c5443629f33d9cd19ba031daf087 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 6 Apr 2025 12:11:01 +0200 Subject: [PATCH 3/5] Add changelog for phil-opp/blog_os --- content/this-month/2025-03/index.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/content/this-month/2025-03/index.md b/content/this-month/2025-03/index.md index 7d7c443..f681b2e 100644 --- a/content/this-month/2025-03/index.md +++ b/content/this-month/2025-03/index.md @@ -128,7 +128,16 @@ In this section, we describe updates to Rust OS projects that are not directly r ...<>... --> +### [`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: + +- [Update blog to Rust 2024 edition](https://github.com/phil-opp/blog_os/pull/1405) +- [Latam Spanish translation](https://github.com/phil-opp/blog_os/pull/1368) +- [Fix translation in `zh-CN` testing post](https://github.com/phil-opp/blog_os/pull/1407) + +Thanks to [@dobleuber](https://github.com/dobleuber) and [@JINHUILYU](https://github.com/JINHUILYU) for their contributions! ## Join Us? From 6bdaa3f226435608769266aa92c1e52053ce8266 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 6 Apr 2025 12:47:05 +0200 Subject: [PATCH 4/5] Add announcements and infra updates --- content/this-month/2025-03/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/this-month/2025-03/index.md b/content/this-month/2025-03/index.md index f681b2e..30daa74 100644 --- a/content/this-month/2025-03/index.md +++ b/content/this-month/2025-03/index.md @@ -32,6 +32,11 @@ Please follow this template: - (optional) Some additional context --> +- [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/) +- [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/) +- [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/) +- [Stalloc: fast memory allocation on the stack](https://www.reddit.com/r/rust/comments/1jqjs6n/stalloc_fast_memory_allocation_on_the_stack/) + ## Infrastructure and Tooling In this section, we collect recent updates to `rustc`, `cargo`, and other tooling that are relevant to Rust OS development. @@ -43,6 +48,9 @@ In this section, we collect recent updates to `rustc`, `cargo`, and other toolin - (optional) Some additional context --> +- [Allow `*const W -> *const dyn A` ptr cast](https://github.com/rust-lang/rust/pull/136127) +- [Stabilize `asm_goto` feature gate](https://github.com/rust-lang/rust/pull/133870) + ## `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. From bf3ba5a51a1c54b49c09f5cb97c422e628317579 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 6 Apr 2025 12:47:12 +0200 Subject: [PATCH 5/5] Set publish date --- content/this-month/2025-03/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/this-month/2025-03/index.md b/content/this-month/2025-03/index.md index 30daa74..bbc7b3a 100644 --- a/content/this-month/2025-03/index.md +++ b/content/this-month/2025-03/index.md @@ -1,6 +1,6 @@ +++ title = "This Month in Rust OSDev: March 2025" -date = 2025-04-04 +date = 2025-04-06 [extra] month = "March 2025"