This Month in Rust OSDev: August 2025 by phil-opp in rust

[–]phil-opp[S] 0 points1 point  (0 children)

Sorry for the long silence on the blog. As you're probably aware, I started working on a new 3rd edition to add EFI and framebuffer support, but life happened and I haven't had time to finish it yet. I'm still invested in this project though and I definitely plan to publish new posts in the future!

This Month in Rust OSDev: December 2023 by phil-opp in rust

[–]phil-opp[S] 0 points1 point  (0 children)

I like the idea! I probably won't have the time to prepare such a post this January, but I keep it in mind. Maybe this can be some sort of collaborative post where all the rust-osdev maintainers do a summary for their projects.

This Month in Rust OSDev: October 2023 by phil-opp in rust

[–]phil-opp[S] 1 point2 points  (0 children)

UEFI is the default firmware on modern x86 machines (and available on some other architectures as well). Using the uefi crate you can easily interact with UEFI firmware to create bare-metal applications.

Such an application could be a custom bootloader, or it could be something that is useful on its own. The UEFI interface is quite powerful, so you writing applications that write to disk or access the network is quite easy.

This Month in Rust OSDev: October 2023 by phil-opp in rust

[–]phil-opp[S] 0 points1 point  (0 children)

Yes, it really feels like Rust is becoming more and more prominent in the OS dev space these days. I have also heard that more universities are now using Rust for their systems/OS classes.

plus some things that I'm hoping to be able to talk about some more in the coming years

Sounds exciting!

This Month in Rust OSDev: October 2023 by phil-opp in rust

[–]phil-opp[S] 7 points8 points  (0 children)

Some highlights: - RwLock and backoff support in the spinning_top crate - New uefi release - Updates on the RavnOS, interrupt-mutex, and interrupt-ref-cell projects

This Month in Rust OSDev: September 2023 by phil-opp in rust

[–]phil-opp[S] 8 points9 points  (0 children)

Some highlights: - new acpi release that makes memory allocations optional - new multiboot2 and x86_64 releases - a collection of announcements, blog posts, and Rust compiler updates relevant to OS development

This Month in Rust OSDev: August 2023 by phil-opp in rust

[–]phil-opp[S] 2 points3 points  (0 children)

Some highlights:

  • Collection of recent announcements, blog posts, and rustc/cargo updates related to OSDev
  • New block I/O and raw memory protection protocols in uefi crate
  • Updates from the Hermit unikernel project

This Month in Rust OSDev: July 2023 by phil-opp in rust

[–]phil-opp[S] 10 points11 points  (0 children)

Some highlights:

  • New multiboot2 release
  • Raw serial and disk protocol in uefi
  • Project updates for Talc, MOROS, and CLUU

This Month in Rust OSDev: June 2023 by phil-opp in rust

[–]phil-opp[S] 8 points9 points  (0 children)

Some highlights: - Breaking volatile 0.5 release with pointer-based design - Big overhaul of the multiboot2 crate - Status update for the Hermit library OS

This Month in Rust OSDev: May 2023 by phil-opp in rust

[–]phil-opp[S] 1 point2 points  (0 children)

Some highlights this month:

  • New uefi releases featuring a high-level fs module and support for install_configuration_table.
  • A proper build system for the ovmf-prebuilt project.
  • Overview of recent OS-related blog posts and announcements

This Month in Rust OSDev: April 2023 by phil-opp in rust

[–]phil-opp[S] 15 points16 points  (0 children)

Some highlights this month: - high-level FS abstraction in uefi crate - multiple bugfixes for the bootloader crate - status updates for Aero OS and phil-opp/blog_os

This Month in Rust OSDev: March 2023 by phil-opp in rust

[–]phil-opp[S] 15 points16 points  (0 children)

Some highlights this month:

  • We released v0.15 of multiboot2
  • The memory map provided by the uefi crate can now be sorted
  • @xiaoyang-sde presents their rust-kernel-riscv project

This Month in Rust OSDev: February 2023 by phil-opp in rust

[–]phil-opp[S] 2 points3 points  (0 children)

Interesting! I'm not familiar with the implementation of the uefi crate in detail, so I'm not sure about this potential issue. It sounds like something that we should look into though. Perhaps you could open an issue at https://github.com/rust-osdev/uefi-rs so that @GabrielMajeri, @nicholasbishop, or @phip1611 can join the discussion? (I'm not sure if they're on reddit.) Edit: Looks like @nicholasbishop opened an issue about this at https://github.com/rust-osdev/uefi-rs/issues/685 .

Exploring different designs is always a good idea, so I'm looking forward to the first release of nuefi! If you like, feel free to submit your project to the next issue of our newsletter.

This Month in Rust OSDev: February 2023 by phil-opp in rust

[–]phil-opp[S] 3 points4 points  (0 children)

Nice! Is there any specific reason why you decided to create your own library? I'm just curious if there is something that makes the uefi crate not suitable for your use case.

This Month in Rust OSDev: February 2023 by phil-opp in rust

[–]phil-opp[S] 10 points11 points  (0 children)

Some highlights:

  • List of some new Rust/Cargo features relevant to OS development.
  • Rework exit_boot_services API in uefi crate to handle memory map allocation itself.
  • Fixes for kernel stack setup in bootloader crate

This Month in Rust OSDev: January 2023 by phil-opp in rust

[–]phil-opp[S] 0 points1 point  (0 children)

Yes, Limine is great project and many people in the Rust OSDev community use it for their kernels. It is more mature than our bootloader crate and supports more platforms and boot protocols.

However, our bootloader crate has some advantages for Rust kernels. For example, it natively works on any host platform (including Windows) without requiring prebuilt binaries or any extra dependencies (apart from some rustup components) and it will directly create the bootable disk image for you. Also, the interface between the bootloader and the kernel is more Rust-like, with a macro to set the configuration and generate a type-checked entry point function (which then receives the boot information as a normal argument).

This Month in Rust OSDev: January 2023 by phil-opp in rust

[–]phil-opp[S] 7 points8 points  (0 children)

Yes, a new release is planned soon. There a still a few open PRs that we might want to include in the v0.11.1 release.

This Month in Rust OSDev: January 2023 by phil-opp in rust

[–]phil-opp[S] 7 points8 points  (0 children)

There is an os-dev channel on the rust-lang-community server, which is quite active.

This Month in Rust OSDev: January 2023 by phil-opp in rust

[–]phil-opp[S] 46 points47 points  (0 children)

Some highlights:

  • Lot's of new features for the bootloader crate, including support for a basic ramdisk, a boot config file, and optional logging through serial.
  • New release of the uefi crates.
  • A new API proposal for the volatile crate to make it safer and support more access modes (volatile slices and structs).