From 997e7788d00688a0a4ad77a66b46c7959f8a0a0d Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Wed, 6 Jul 2022 22:04:56 +0200 Subject: [PATCH 01/16] Add draft for June release --- content/this-month/2022-06/index.md | 77 +++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 content/this-month/2022-06/index.md diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md new file mode 100644 index 00000000..bc0ad47c --- /dev/null +++ b/content/this-month/2022-06/index.md @@ -0,0 +1,77 @@ ++++ +title = "This Month in Rust OSDev: June 2022" +date = 0000-01-01 + +[extra] +month = "June 2022" +authors = [ + "phil-opp", + # add yourself here +] ++++ + +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_](#comment-form) at the bottom of this page. + + + +## Project Updates + +In this section, we give an overview of notable changes to the projects hosted under the [`rust-osdev`] organization. + +[`rust-osdev`]: https://github.com/rust-osdev/about + +### [`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), [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13), and [@rybot666](https://github.com/orgs/rust-osdev/people/rybot666) + +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. + +In June, … + +## Call for Participation + +Want to contribute to a Rust OSDev project, but don't know where to start? Pick up one of these outstanding +issues in one of our projects and get started! + + + + + +_No tasks were proposed for this section._ + + + +If you maintain a Rust project related to operating system development and are looking for contributors, especially for tasks suited to people getting started in this space, please [create a PR](https://github.com/rust-osdev/homepage/pulls) against the `next` branch with the tasks you want to include in the next issue. + +## 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. + +### [`phil-opp/blog_os`](https://github.com/phil-opp/blog_os) + +(Section written by [@phil-opp](https://github.com/phil-opp)) + +This month, ... + +## 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 [gitter channel](https://gitter.im/rust-osdev/Lobby). + + + +Footer From 55ef6d98ef93ab33bb04413400c5c09b1a6118d7 Mon Sep 17 00:00:00 2001 From: Vincent Ollivier Date: Thu, 7 Jul 2022 09:22:43 +0200 Subject: [PATCH 02/16] Add entry about MOROS --- content/this-month/2020-06/index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/content/this-month/2020-06/index.md b/content/this-month/2020-06/index.md index 9f88a819..55590445 100644 --- a/content/this-month/2020-06/index.md +++ b/content/this-month/2020-06/index.md @@ -93,6 +93,16 @@ In June, I pushed two small improvements to the `blog_os` repository and the _Wr There were also [lots of small contributions](https://github.com/phil-opp/blog_os/pulls?q=is%3Apr+is%3Aclosed+merged%3A2020-06-01..2020-07-01) this month that fixed typos and dead links and updated the Chinese translation. Thanks a lot to all contributors! +### [`vinc/moros`](https://github.com/vinc/moros) + +(Section written by [@vinc](https://github.com/vinc)) + +MOROS is a text-based hobby operating system targeting computers with a x86-64 architecture and a BIOS. It is inspired by Unix and ITS but is closer to a modern DOS at the moment in term of features. + +In the last month I finally managed to run rust programs (without alloc) inside the OS after being limited to nasm programs for a long time. This triggered a lot of refactoring and improvements in the shell and the lisp language used for scripting. + +Next step will be publishing a 0.8.0 release and working on userspace allocation. + ## 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 [gitter channel](https://gitter.im/rust-osdev/Lobby). From e4d735f65cb817e121a7dfc7eeec9bf64d6014f2 Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Thu, 7 Jul 2022 10:14:58 +0200 Subject: [PATCH 03/16] multiboot2 updates --- content/this-month/2022-06/index.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index bc0ad47c..f692be8c 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -6,6 +6,7 @@ date = 0000-01-01 month = "June 2022" authors = [ "phil-opp", + "phip1611", # add yourself here ] +++ @@ -38,6 +39,16 @@ The `x86_64` crate provides various abstractions for `x86_64` systems, including In June, … +### [`multiboot2`](https://github.com/rust-osdev/multiboot2) + +Maintained by [@IsaacWoods](https://github.com/IsaacWoods), [@phip1611](https://github.com/phip1611), [@robert-w-gries](https://github.com/robert-w-gries), [@ahmedcharles](https://github.com/ahmedcharles), and [@Caduser2020](https://github.com/Caduser2020) + +The `multiboot2` crate provides abstraction types for the multiboot information structure (MBI) +of multiboot2 bootloaders. The latest release of the `multiboot2`-crate is now `v.0.14.0` (was +`v0.13.2`). It contains some small breaking changes because so far, we used some unsafe code and +relied on having not to verify UTF-8 strings. For a full changelog, please refer to the +[GitHub repo](https://github.com/rust-osdev/multiboot2/blob/main/multiboot2/Changelog.md). + ## Call for Participation Want to contribute to a Rust OSDev project, but don't know where to start? Pick up one of these outstanding From 655e4c63f0aa5311baa3eeb6e009a963816b1119 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sat, 9 Jul 2022 12:29:10 -0400 Subject: [PATCH 04/16] Add section on gpt-disk-rs [`gpt-disk-rs`](https://github.com/google/gpt-disk-rs) is a collection of three new libraries related to GPT (GUID Partition Table) disk data. --- content/this-month/2022-06/index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index f692be8c..b9eccdb4 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -77,6 +77,16 @@ In this section, we describe updates to Rust OS projects that are not directly r This month, ... +### [`google/gpt-disk-rs`](https://github.com/google/gpt-disk-rs) + +(Section written by [@nicholasbishop](https://github.com/nicholasbishop)) + +`gpt-disk-rs` is a collection of three libraries related to [GPT](https://en.wikipedia.org/wiki/GUID_Partition_Table) (GUID Partition Table) disk data. The crates are no-std by default, have minimal dependencies, and include a lot of documentation. I'm hoping they'll be a suitable base for any project that wants to read or write GPT data. + +* [`uguid`](https://crates.io/crates/uguid): GUID data type. +* [`gpt_disk_types`](https://crates.io/crates/gpt_disk_types): all the GPT types defined by the UEFI specification +* [`gpt_disk_io`](https://crates.io/crates/gpt_disk_io): types for reading and writing GPT data to an abstract block IO device. + ## 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 [gitter channel](https://gitter.im/rust-osdev/Lobby). From 789b2e3ec8d068186a835f669e7ba5705b23811d Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sat, 9 Jul 2022 13:19:07 -0400 Subject: [PATCH 05/16] Add June changes for `uefi-rs` --- content/this-month/2022-06/index.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index f692be8c..0dff944a 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -49,6 +49,30 @@ of multiboot2 bootloaders. The latest release of the `multiboot2`-crate is now ` relied on having not to verify UTF-8 strings. For a full changelog, please refer to the [GitHub repo](https://github.com/rust-osdev/multiboot2/blob/main/multiboot2/Changelog.md). +### [`uefi-rs`](https://github.com/rust-osdev/uefi-rs) + +Maintained by [@GabrielMajeri](https://github.com/GabrielMajeri) and [@nicholasbishop](https://github.com/nicholasbishop) + +The `uefi` crate provides safe and performant wrappers for [UEFI](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface), the successor to the BIOS. + +We merged the following changes in June: + +#### Fixes + +- [Remove `exts::allocate_buffer`](https://github.com/rust-osdev/uefi-rs/pull/443) +- [Fix incorrect pointer cast in get_rng](https://github.com/rust-osdev/uefi-rs/pull/447) + +#### Improvements + +- [Remove unused `From` impls](https://github.com/rust-osdev/uefi-rs/pull/450) +- [Remove `eh_personality` lang item](https://github.com/rust-osdev/uefi-rs/pull/451) +- [Simplify `uefi-services` panic handler](https://github.com/rust-osdev/uefi-rs/pull/453) + +#### Internal changes + +- [Fix `query_variable_info` test](https://github.com/rust-osdev/uefi-rs/pull/442) +- [Fix errors due to deprecations in the `clap` API](https://github.com/rust-osdev/uefi-rs/pull/445) + ## Call for Participation Want to contribute to a Rust OSDev project, but don't know where to start? Pick up one of these outstanding From ecba2c599e06d5c17bc6926f824bb0ef442c0594 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sat, 9 Jul 2022 12:33:41 -0400 Subject: [PATCH 06/16] Fix location of MOROS addition This was accidentally added to 2020-06 instead of 2022-06. --- content/this-month/2020-06/index.md | 10 ---------- content/this-month/2022-06/index.md | 10 ++++++++++ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/content/this-month/2020-06/index.md b/content/this-month/2020-06/index.md index 55590445..9f88a819 100644 --- a/content/this-month/2020-06/index.md +++ b/content/this-month/2020-06/index.md @@ -93,16 +93,6 @@ In June, I pushed two small improvements to the `blog_os` repository and the _Wr There were also [lots of small contributions](https://github.com/phil-opp/blog_os/pulls?q=is%3Apr+is%3Aclosed+merged%3A2020-06-01..2020-07-01) this month that fixed typos and dead links and updated the Chinese translation. Thanks a lot to all contributors! -### [`vinc/moros`](https://github.com/vinc/moros) - -(Section written by [@vinc](https://github.com/vinc)) - -MOROS is a text-based hobby operating system targeting computers with a x86-64 architecture and a BIOS. It is inspired by Unix and ITS but is closer to a modern DOS at the moment in term of features. - -In the last month I finally managed to run rust programs (without alloc) inside the OS after being limited to nasm programs for a long time. This triggered a lot of refactoring and improvements in the shell and the lisp language used for scripting. - -Next step will be publishing a 0.8.0 release and working on userspace allocation. - ## 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 [gitter channel](https://gitter.im/rust-osdev/Lobby). diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index c8f7607f..1610d5c8 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -111,6 +111,16 @@ This month, ... * [`gpt_disk_types`](https://crates.io/crates/gpt_disk_types): all the GPT types defined by the UEFI specification * [`gpt_disk_io`](https://crates.io/crates/gpt_disk_io): types for reading and writing GPT data to an abstract block IO device. +### [`vinc/moros`](https://github.com/vinc/moros) + +(Section written by [@vinc](https://github.com/vinc)) + +MOROS is a text-based hobby operating system targeting computers with a x86-64 architecture and a BIOS. It is inspired by Unix and ITS but is closer to a modern DOS at the moment in term of features. + +In the last month I finally managed to run rust programs (without alloc) inside the OS after being limited to nasm programs for a long time. This triggered a lot of refactoring and improvements in the shell and the lisp language used for scripting. + +Next step will be publishing a 0.8.0 release and working on userspace allocation. + ## 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 [gitter channel](https://gitter.im/rust-osdev/Lobby). From 3f154c893e2a31b31c8917ccc405c1fcd6786991 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 10 Jul 2022 23:14:58 +0200 Subject: [PATCH 07/16] Add updates for linked-list-allocator --- content/this-month/2022-06/index.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index 1610d5c8..bc225fc4 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -39,6 +39,22 @@ The `x86_64` crate provides various abstractions for `x86_64` systems, including In June, … +### [`linked-list-allocator`](https://github.com/rust-osdev/linked-list-allocator) + +Maintained by [@phil-opp](https://github.com/phil-opp) and [@jamesmunns](https://github.com/jamesmunns) + +The `linked-list-allocator` crate provides a basic `no_std` allocator that builds a linked list from freed memory blocks and thus needs no additional data structures. + +This month, [@jamesmunns](https://github.com/jamesmunns) redesigned the internal API for traversing the linked list in order to pass the strict tests of [`miri`](https://github.com/rust-lang/miri), which is an experimental interpreter for Rust's intermediate representation (MIR). Among other things, `miri` checks that pointers are correctly aligned and that no invalid aliasing occurs (based on different formal models). By checking our implementation against `miri`, we make it more robust and reduce the chance that undefined behavior occurs with future compiler versions. + +The change was implemented across the following pull requests: + +- [Refactor with Cursor-based API, and passing Miri tests](https://github.com/rust-osdev/linked-list-allocator/pull/62) (published as `v0.10.0`, but yanked later) +- ([fix(deallocate_middle): advance to next in `try_insert_after`](https://github.com/rust-osdev/linked-list-allocator/pull/63)) +- [Fix free logic](https://github.com/rust-osdev/linked-list-allocator/pull/64) ([published](https://github.com/rust-osdev/linked-list-allocator/pull/65) as `v0.10.1`) + +Thanks to [@jamesmunns](https://github.com/jamesmunns) for the redesign and [@haraldh](https://github.com/haraldh) for reporting a critical issue in the `v0.10.0` release and providing a fix! Also, we would like to welcome [@jamesmunns](https://github.com/jamesmunns) as a maintainer of this crate! + ### [`multiboot2`](https://github.com/rust-osdev/multiboot2) Maintained by [@IsaacWoods](https://github.com/IsaacWoods), [@phip1611](https://github.com/phip1611), [@robert-w-gries](https://github.com/robert-w-gries), [@ahmedcharles](https://github.com/ahmedcharles), and [@Caduser2020](https://github.com/Caduser2020) From 946857efb8f81b8129df283117e91a932bf30536 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 10 Jul 2022 23:22:54 +0200 Subject: [PATCH 08/16] Add updates for bootloader crate --- content/this-month/2022-06/index.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index bc225fc4..56fd352f 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -89,6 +89,21 @@ We merged the following changes in June: - [Fix `query_variable_info` test](https://github.com/rust-osdev/uefi-rs/pull/442) - [Fix errors due to deprecations in the `clap` API](https://github.com/rust-osdev/uefi-rs/pull/445) +### [`bootloader`](https://github.com/rust-osdev/bootloader) + +Maintained by [@phil-opp](https://github.com/phil-opp), [@rybot666](https://github.com/rybot666), and [@64](https://github.com/64) + +The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we made more progress on the upcoming `v0.11` version: + +- [WIP: try to start loading FAT partition in second stage](https://github.com/rust-osdev/bootloader/commit/3b6aa00dc33005f4353568c5dccad694d0f54f90) +- [Start custom FAT implementation based on `mini_fat` crate](https://github.com/rust-osdev/bootloader/commit/abfdba522e990fcaf865302b7b7d91f0abef04a7) (to keep the executable size down) +- [Read root dir entries from FAT partition](https://github.com/rust-osdev/bootloader/commit/96d2bdbae6fdc91c8df958fd09d4207a3ab20020) +- [Use segment-based addressing for DAP to support loading larger second stages](https://github.com/rust-osdev/bootloader/commit/eef2109861d718e0da82b3c5e4c2d9308d34da56) +- [Implement looking up `kernel-x86_64` file on FAT partition](https://github.com/rust-osdev/bootloader/commit/1d7ff1f0627fa33dab3f811af150a547e1f48172) +- [Read FAT clusters of kernel file](https://github.com/rust-osdev/bootloader/commit/06d3b9521cc8bac981068bafe0ab84b5c4a7e8c0) +- [Ensure proper alignment of DAP target buffer](https://github.com/rust-osdev/bootloader/commit/6e8f9fa964bfcd23b95fe902fe3a5f2c55065e27) +- [Enter unreal mode](https://github.com/rust-osdev/bootloader/commit/7a24837692d96c8e9b04377fa2e7646648637dcb) + ## Call for Participation Want to contribute to a Rust OSDev project, but don't know where to start? Pick up one of these outstanding From f6a9c8a1c4c61b22b6f72d2fd5d186b920a72c0a Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 10 Jul 2022 23:26:32 +0200 Subject: [PATCH 09/16] Add updates for cargo-xbuild crate --- content/this-month/2022-06/index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index 56fd352f..c456d488 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -104,6 +104,16 @@ The `bootloader` crate implements a custom Rust-based bootloader for easy loadin - [Ensure proper alignment of DAP target buffer](https://github.com/rust-osdev/bootloader/commit/6e8f9fa964bfcd23b95fe902fe3a5f2c55065e27) - [Enter unreal mode](https://github.com/rust-osdev/bootloader/commit/7a24837692d96c8e9b04377fa2e7646648637dcb) +### [`cargo-xbuild`](https://github.com/rust-osdev/cargo-xbuild) + +Maintained by [@phil-opp](https://github.com/phil-opp) + +The `cargo-xbuild` project provides `cargo` command wrappers to cross-compile the sysroot crates `core` and `alloc`. It is mostly useful in situations, where cargo's unstable `-Zbuild-std` flag is not usable. + +This month, we fixed a build error of the `alloc` crate on the latest nightlies: + +- [Fix: The alloc crate uses the Rust 2021 edition now](https://github.com/rust-osdev/cargo-xbuild/pull/105) (published as `v0.6.6`) + ## Call for Participation Want to contribute to a Rust OSDev project, but don't know where to start? Pick up one of these outstanding From 841d04864913cfd0f1de1ac49ffd650354c338b7 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 10 Jul 2022 23:47:28 +0200 Subject: [PATCH 10/16] Add updates for `x86_64` crate --- content/this-month/2022-06/index.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index c456d488..b266e092 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -31,14 +31,6 @@ In this section, we give an overview of notable changes to the projects hosted u [`rust-osdev`]: https://github.com/rust-osdev/about -### [`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), [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13), and [@rybot666](https://github.com/orgs/rust-osdev/people/rybot666) - -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. - -In June, … - ### [`linked-list-allocator`](https://github.com/rust-osdev/linked-list-allocator) Maintained by [@phil-opp](https://github.com/phil-opp) and [@jamesmunns](https://github.com/jamesmunns) @@ -104,6 +96,18 @@ The `bootloader` crate implements a custom Rust-based bootloader for easy loadin - [Ensure proper alignment of DAP target buffer](https://github.com/rust-osdev/bootloader/commit/6e8f9fa964bfcd23b95fe902fe3a5f2c55065e27) - [Enter unreal mode](https://github.com/rust-osdev/bootloader/commit/7a24837692d96c8e9b04377fa2e7646648637dcb) +### [`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), [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13), and [@rybot666](https://github.com/orgs/rust-osdev/people/rybot666) + +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. + +In June, we merged the following pull request: + +- [Add `registers::debug`](https://github.com/rust-osdev/x86_64/pull/286) + +Thanks to [@mkroening](https://github.com/mkroening) for this contribution! + ### [`cargo-xbuild`](https://github.com/rust-osdev/cargo-xbuild) Maintained by [@phil-opp](https://github.com/phil-opp) From d6b298f96aef4c956d1849c0c32d1966967598d1 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 10 Jul 2022 23:51:37 +0200 Subject: [PATCH 11/16] Use `maintainers` class for other projects section too --- content/this-month/2022-06/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index b266e092..548d6dcd 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -142,13 +142,13 @@ 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)) +(Section written by [@phil-opp](https://github.com/phil-opp)) This month, ... ### [`google/gpt-disk-rs`](https://github.com/google/gpt-disk-rs) -(Section written by [@nicholasbishop](https://github.com/nicholasbishop)) +(Section written by [@nicholasbishop](https://github.com/nicholasbishop)) `gpt-disk-rs` is a collection of three libraries related to [GPT](https://en.wikipedia.org/wiki/GUID_Partition_Table) (GUID Partition Table) disk data. The crates are no-std by default, have minimal dependencies, and include a lot of documentation. I'm hoping they'll be a suitable base for any project that wants to read or write GPT data. @@ -158,7 +158,7 @@ This month, ... ### [`vinc/moros`](https://github.com/vinc/moros) -(Section written by [@vinc](https://github.com/vinc)) +(Section written by [@vinc](https://github.com/vinc)) MOROS is a text-based hobby operating system targeting computers with a x86-64 architecture and a BIOS. It is inspired by Unix and ITS but is closer to a modern DOS at the moment in term of features. From d9b3bc2635b5e3e221ff0797e3538ddd937e91c7 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 10 Jul 2022 23:51:59 +0200 Subject: [PATCH 12/16] Add a top border for maintainers line to visually separate sections --- static/css/main.css | 1 + 1 file changed, 1 insertion(+) diff --git a/static/css/main.css b/static/css/main.css index 49a46338..7afc2f93 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -41,6 +41,7 @@ h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { } .maintainers { + border-top: 1px solid #ddd; display: block; margin-top: -.5rem; color: #9a9a9a; From 1debe760e2b61e8c7deba571125bb6948bee79f5 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 10 Jul 2022 23:54:18 +0200 Subject: [PATCH 13/16] Mention latest `x86_64` release --- content/this-month/2022-06/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index 548d6dcd..5e87b25e 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -104,7 +104,7 @@ The `x86_64` crate provides various abstractions for `x86_64` systems, including In June, we merged the following pull request: -- [Add `registers::debug`](https://github.com/rust-osdev/x86_64/pull/286) +- [Add `registers::debug`](https://github.com/rust-osdev/x86_64/pull/286) ([published](https://github.com/rust-osdev/x86_64/pull/386) as `v0.14.10`) Thanks to [@mkroening](https://github.com/mkroening) for this contribution! From 810a6c5ad0fe9543b805cbb90f758c92bb66eaee Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Mon, 11 Jul 2022 00:06:37 +0200 Subject: [PATCH 14/16] Mention `volatile` redesign in 'call for participation' section --- content/this-month/2022-06/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index 5e87b25e..99fd0f9d 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -128,11 +128,15 @@ Please use the following template for adding items: - [(`repo_name`) Issue Description](https://example.com/link-to-issue) --> - +- [(`rust-osdev/volatile`) New design based on pointer types](https://github.com/rust-osdev/volatile/pull/28) + + We are currently discussing a new design for the `volatile` crate based on raw pointer types in order to avoid potential undefined behavior. The linked pull requests proposes an implementation where the volatile wrapper type is `Copy` and its methods take `self` by value. We haven't reached a decision yet, so if anyone has more input on this, please join the discussion. For more context, see also [PR #22](https://github.com/rust-osdev/volatile/pull/22). + + If you maintain a Rust project related to operating system development and are looking for contributors, especially for tasks suited to people getting started in this space, please [create a PR](https://github.com/rust-osdev/homepage/pulls) against the `next` branch with the tasks you want to include in the next issue. From d0c36bd5a7af41e4262d4a10253bea30b4908dc2 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Mon, 11 Jul 2022 00:12:06 +0200 Subject: [PATCH 15/16] Add updates for `phil-opp/blog_os` --- content/this-month/2022-06/index.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index 99fd0f9d..ecc0c478 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -144,12 +144,6 @@ If you maintain a Rust project related to operating system development and are l 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. -### [`phil-opp/blog_os`](https://github.com/phil-opp/blog_os) - -(Section written by [@phil-opp](https://github.com/phil-opp)) - -This month, ... - ### [`google/gpt-disk-rs`](https://github.com/google/gpt-disk-rs) (Section written by [@nicholasbishop](https://github.com/nicholasbishop)) @@ -170,6 +164,19 @@ In the last month I finally managed to run rust programs (without alloc) inside Next step will be publishing a 0.8.0 release and working on userspace allocation. +### [`phil-opp/blog_os`](https://github.com/phil-opp/blog_os) + +(Section written by [@phil-opp](https://github.com/phil-opp)) + +This month, we merged the following improvements: + +- [[Translation][Korean] post-03 (edition-2)](https://github.com/phil-opp/blog_os/pull/1121) + - Thanks to [@JOE1994](https://github.com/JOE1994) for creating the translation and [@QuqqU](https://github.com/QuqqU) for reviewing it! +- [Fix typo in Japanese translation](https://github.com/phil-opp/blog_os/pull/1122) (thanks to [@KisaragiEffective](https://github.com/KisaragiEffective)) +- [Translate the giscus comment system](https://github.com/phil-opp/blog_os/pull/1118) +- [Move comment threads for translated posts to separate category](https://github.com/phil-opp/blog_os/pull/1116) +- [Remove goatcounter analytics again](https://github.com/phil-opp/blog_os/pull/1117) + ## 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 [gitter channel](https://gitter.im/rust-osdev/Lobby). From 3956cf13c735173fff9e8c0dcc23e43ed932e643 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Mon, 11 Jul 2022 00:12:45 +0200 Subject: [PATCH 16/16] Set publish date --- content/this-month/2022-06/index.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/content/this-month/2022-06/index.md b/content/this-month/2022-06/index.md index ecc0c478..f52db07b 100644 --- a/content/this-month/2022-06/index.md +++ b/content/this-month/2022-06/index.md @@ -1,6 +1,6 @@ +++ title = "This Month in Rust OSDev: June 2022" -date = 0000-01-01 +date = 2022-07-10 [extra] month = "June 2022" @@ -180,9 +180,3 @@ This month, we merged the following improvements: ## 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 [gitter channel](https://gitter.im/rust-osdev/Lobby). - - - -Footer