diff --git a/content/this-month/2023-01/index.md b/content/this-month/2023-01/index.md index 61d9c361..271a97af 100644 --- a/content/this-month/2023-01/index.md +++ b/content/this-month/2023-01/index.md @@ -48,8 +48,7 @@ Please follow this template: - (optional) Some additional context --> -- [A GUI installer for redox is coming soon, written in iced!](https://fosstodon.org/@soller/109674396246472281) - - [Discussion on Reddit](https://www.reddit.com/r/rust/comments/109qm9j/media_a_gui_installer_for_redox_is_coming_soon/) +- [A GUI installer for redox is coming soon, written in iced!](https://www.reddit.com/r/rust/comments/109qm9j/media_a_gui_installer_for_redox_is_coming_soon/) - [cargo-show-asm 0.2.10](https://www.reddit.com/r/rust/comments/107h9ay/cargoshowasm_0210_new_and_improved_all_over_the/) - [RustyHermit @ FOSDEM 2023: A Rust-Based, modular Unikernel for MicroVMs](https://fosdem.org/2023/schedule/event/rustunikernel/) diff --git a/content/this-month/2024-11/index.md b/content/this-month/2024-11/index.md new file mode 100644 index 00000000..a0f7b7a3 --- /dev/null +++ b/content/this-month/2024-11/index.md @@ -0,0 +1,209 @@ ++++ +title = "This Month in Rust OSDev: November 2024" +date = 2024-12-08 + +[extra] +month = "November 2024" +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. + + + +- [VEKOS, a cryptographically verified hobby OS written in Rust](https://www.reddit.com/r/rust/comments/1h5vh2g/vekos_a_cryptographically_verified_hobby_os/) +- [Rust in Production: Oxide Computer Company with Steve Klabnik (Podcast Interview)](https://www.reddit.com/r/rust/comments/1gr9tqp/rust_in_production_oxide_computer_company_with/) +- [This Month in Redox - November 2024](https://www.redox-os.org/news/this-month-241130/) +- [‘Tis the Season for COSMIC Alpha 4!](https://blog.system76.com/post/cosmic-alpha-4/) +- [a #![no_std], #![no_main], no-[#tokio] runtime for AWS Lambda](https://www.reddit.com/r/rust/comments/1h40cdd/a_no_std_no_main_notokio_runtime_for_aws_lambda/) +- [Ferrocene 24.11.0 released with medical qualification](https://public-docs.ferrocene.dev/main/release-notes/24.11.0.html) ([reddit discussion](https://www.reddit.com/r/rust/comments/1h1261s/ferrocene_24110_update_medical_qualification_is/)) +- [Embive: A low-level sandboxing library for RISC-V bytecode](https://www.reddit.com/r/rust/comments/1gxm414/embive_a_lowlevel_sandboxing_library_for_riscv/) +- [Rust in QEMU roadmap](https://lore.kernel.org/all/cc40943e-dec1-4890-a1d9-579350ce296f@pbonzini.local/) +- [kartoffels, a game where you implement a firmware for a potato, v0.6 released! 🥔](https://www.reddit.com/r/rust/comments/1gvrtnq/kartoffels_a_game_where_you_implement_a_firmware/) + +## Infrastructure and Tooling + +In this section, we collect recent updates to `rustc`, `cargo`, and other tooling that are relevant to Rust OS development. + + + +- [mark some target features as 'forbidden' so they cannot be (un)set with `-Ctarget-feature`](https://github.com/rust-lang/rust/pull/129884) +- [show `abi_unsupported_vector_types` lint in future breakage reports](https://github.com/rust-lang/rust/pull/133374) +- [Stabilize `extended_varargs_abi_support`](https://github.com/rust-lang/rust/pull/116161) + +## `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. + + + +### [`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: + +- [fix field order for INVPCID descriptor](https://github.com/rust-osdev/x86_64/pull/508) +- [fix CI job for building on MSRV](https://github.com/rust-osdev/x86_64/pull/510) +- [gate HandlerFunc behind target_arch = "x86{_64}"](https://github.com/rust-osdev/x86_64/pull/507) +- [fix typo in "InvPicdCommand"](https://github.com/rust-osdev/x86_64/pull/509) +- [TryFrom implementation for ExceptionVector](https://github.com/rust-osdev/x86_64/pull/506) +- [Typo fix in TaskStateSegment comment](https://github.com/rust-osdev/x86_64/pull/504) +- [Minor clarification DescriptorTablePointer::limit comment](https://github.com/rust-osdev/x86_64/pull/503) +- [fix signature of Step::steps_between implementations](https://github.com/rust-osdev/x86_64/pull/513) +- [release 0.15.2](https://github.com/rust-osdev/x86_64/pull/519) +- [backport #513](https://github.com/rust-osdev/x86_64/pull/520) + +Thanks to [@mrjbom](https://github.com/mrjbom) for their contribution! + + +### [`acpi`](https://github.com/rust-osdev/acpi) +Maintained by [@IsaacWoods](https://github.com/IsaacWoods) + +The `acpi` repository contains crates for parsing the ACPI tables – data structures that the firmware of modern computers use to relay information about the hardware to the OS. We merged the following changes this month: + +- [Implement the multiprocessor wakeup mechanism.](https://github.com/rust-osdev/acpi/pull/225) +- [acpi-dumper: fix invocation of compile_error!](https://github.com/rust-osdev/acpi/pull/229) +- [aml: make resource descriptor fields public](https://github.com/rust-osdev/acpi/pull/228) +- [acpi: fix clippy warnings and run clippy in CI](https://github.com/rust-osdev/acpi/pull/230) +- [acpi: fix doc warnings and add missing links](https://github.com/rust-osdev/acpi/pull/231) +- [acpi: spcr: fix typo](https://github.com/rust-osdev/acpi/pull/232) + +Thanks to [@pjhades](https://github.com/pjhades), [@00xc](https://github.com/00xc), and [@Hsy-Intel](https://github.com/Hsy-Intel) 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 3dnow features from stage4 target](https://github.com/rust-osdev/bootloader/pull/471) +- [mention E820 in docs for UnknownBios](https://github.com/rust-osdev/bootloader/pull/461) +- [release v0.11.8](https://github.com/rust-osdev/bootloader/pull/469) +- [copy more PML4 entries](https://github.com/rust-osdev/bootloader/pull/466) +- [Convert LF to CRLF when writing to serial port](https://github.com/rust-osdev/bootloader/pull/474) +- [Update x86_64](https://github.com/rust-osdev/bootloader/pull/478) +- [release v0.11.9](https://github.com/rust-osdev/bootloader/pull/479) + +Thanks to [@Ollrogge](https://github.com/Ollrogge), [@ChocolateLoverRaj](https://github.com/ChocolateLoverRaj), and [@Makonede](https://github.com/Makonede) for their contributions! + + +### [`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: + +- [chore(config): migrate renovate config](https://github.com/rust-osdev/uefi-rs/pull/1456) +- [uefi: Deny clippy::ref_as_ptr](https://github.com/rust-osdev/uefi-rs/pull/1455) +- [Move the UnicodeCollation protocol definition to `uefi-raw` and use it from `uefi`](https://github.com/rust-osdev/uefi-rs/pull/1459) +- [Use ovmf-prebuilt](https://github.com/rust-osdev/uefi-rs/pull/1454) +- [xtask: Update OVMF prebuilts](https://github.com/rust-osdev/uefi-rs/pull/1463) +- [uefi-raw: Drop unused dependency on ptr_meta](https://github.com/rust-osdev/uefi-rs/pull/1465) +- [Fix `cargo xtask fmt --check`](https://github.com/rust-osdev/uefi-rs/pull/1464) +- [Fix minor typo in protocols.md](https://github.com/rust-osdev/uefi-rs/pull/1467) +- [Add TCG protocols to `uefi-raw` and use them from `uefi`](https://github.com/rust-osdev/uefi-rs/pull/1469) +- [Mention to turn off secure boot.](https://github.com/rust-osdev/uefi-rs/pull/1468) +- [Clean up some use of unsafe in MemoryMapRefMut](https://github.com/rust-osdev/uefi-rs/pull/1483) + + + + + + + + + + +Thanks to [@diekmann](https://github.com/diekmann) for their contribution! + + +### [`ovmf-prebuilt`](https://github.com/rust-osdev/ovmf-prebuilt) +Maintained by [@nicholasbishop](https://github.com/nicholasbishop) and [@phil-opp](https://github.com/phil-opp) + +The `ovmf-prebuilt` project provides pre-built [edk2](https://github.com/tianocore/edk2) releases to make it easier to set up OVMF. We merged the following improvement this month: + +- [ovmf-prebuilt: Update readme](https://github.com/rust-osdev/ovmf-prebuilt/pull/101) +- [release: 0.2.1](https://github.com/rust-osdev/ovmf-prebuilt/pull/102) + + + + + + + + + + + +### [`uart_16550`](https://github.com/rust-osdev/uart_16550) +Maintained by [@phil-opp](https://github.com/phil-opp) + +The `uart_16550` crate provides basic support for serial port I/O for 16550-compatible UARTs. We merged the following change this month: + +- [feat(mmio): add `new_with_stride`](https://github.com/rust-osdev/uart_16550/pull/36) + +Thanks to [@kouchekiniad](https://github.com/kouchekiniad) for their contribution! + +## 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. + + + + + +_No projects were proposed for this section 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 [Zulip chat](https://rust-osdev.zulipchat.com).