Skip to content
@rust-osdev

Rust OSDev

Operating System Development in Rust

About this Organization

The goal of this organization is to host and maintain all kinds of tools and libraries useful for operating system development in Rust. The organization's home page is https://rust-osdev.com, where This Month in Rust OSDev is published.

If you're interested in Rust and OS development, please join us on Zulip!

Note that we are not an official Rust organization.

Projects

Currently we are hosting the following projects:

  • acpi: Rust library for parsing ACPI tables and AML.
  • ansi_rgb: Colorful console text using ANSI escape sequences.
  • bootimage: A tool to transform a kernel ELF file into a bootable disk image.
  • bootloader: An experimental, pure-Rust, legacy bootloader.
  • endian-num: Byte-order-aware numeric types.
  • fuse-abi: FUSE device bindings.
  • ieee1275-rs: IEEE-1275/OpenFirmware Rust environment.
  • multiboot2:
    • multiboot2: Allows parsing and constructing the boot information of the Multiboot2 standard.
    • multiboot2-common: Common abstractions for the project.
    • multiboot2-header: Allows parsing and constructing headers following the Multiboot2 standard.
  • ovmf-prebuilt: Prebuilt binaries of EDK2 firmware.
  • pci_types: Library providing types for handling PCI/PCIe enumeration and configuration.
  • pic8259: Abstractions for 8259 and 8259A Programmable Interrupt Controllers (PICs).
  • ps2-mouse: Library to manage a PS/2 mouse.
  • spinning_top: A simple spinlock crate.
  • uart_16550: Minimal library for uart_16550 serial output.
  • ucs2-rs: UCS2 conversion utilities.
  • uefi-rs: Rust library for interacting with UEFI firmware.
  • usb: Utilities for working with USB devices.
  • vga: Library to program VGA hardware.
  • virtio-spec-rs: Definitions from the Virtual I/O Device (VIRTIO) specification.
  • volatile: Provides volatile wrapper types for raw pointers.
  • x86_64: Provides general abstractions for x86_64 systems and access to architecture specific instructions and registers.
  • xhci: Library providing xHCI types.

Contributing

Contributions are more than welcome! If you have any suggestions, ideas, or projects you would like to host under this organization, don't hesitate to contact us!

Pinned Loading

  1. bootloader bootloader Public

    An experimental pure-Rust x86 bootloader

    Rust 1.4k 214

  2. x86_64 x86_64 Public

    Library to program x86_64 hardware.

    Rust 817 136

  3. uefi-rs uefi-rs Public

    Rusty wrapper for the Unified Extensible Firmware Interface (UEFI). This crate makes it easy to develop Rust software that leverages safe, convenient, and performant abstractions for UEFI functiona…

    Rust 1.3k 162

  4. acpi acpi Public

    Rust library for parsing ACPI tables and interpreting AML

    Rust 204 66

Repositories

Showing 10 of 29 repositories
  • ovmf-prebuilt Public
    rust-osdev/ovmf-prebuilt’s past year of commit activity
    Rust 27 Apache-2.0 7 1 0 Updated Dec 25, 2024
  • homepage Public
    rust-osdev/homepage’s past year of commit activity
    CSS 122 Apache-2.0 35 13 2 Updated Dec 25, 2024
  • x86_64 Public

    Library to program x86_64 hardware.

    rust-osdev/x86_64’s past year of commit activity
    Rust 817 Apache-2.0 136 24 (3 issues need help) 7 Updated Dec 24, 2024
  • uefi-rs Public

    Rusty wrapper for the Unified Extensible Firmware Interface (UEFI). This crate makes it easy to develop Rust software that leverages safe, convenient, and performant abstractions for UEFI functionality.

    rust-osdev/uefi-rs’s past year of commit activity
    Rust 1,343 MPL-2.0 162 29 (4 issues need help) 7 Updated Dec 23, 2024
  • multiboot2 Public

    Rusty wrappers for Multiboot2.

    rust-osdev/multiboot2’s past year of commit activity
    Rust 117 Apache-2.0 57 4 2 Updated Dec 3, 2024
  • bootloader Public

    An experimental pure-Rust x86 bootloader

    rust-osdev/bootloader’s past year of commit activity
    Rust 1,413 Apache-2.0 214 72 (1 issue needs help) 4 Updated Dec 1, 2024
  • acpi Public

    Rust library for parsing ACPI tables and interpreting AML

    rust-osdev/acpi’s past year of commit activity
    Rust 204 Apache-2.0 66 35 9 Updated Nov 25, 2024
  • uart_16550 Public

    Minimal support for uart_16550 serial output.

    rust-osdev/uart_16550’s past year of commit activity
    Rust 34 MIT 25 3 2 Updated Nov 13, 2024
  • virtio-spec-rs Public

    Definitions from the Virtual I/O Device (VIRTIO) specification.

    rust-osdev/virtio-spec-rs’s past year of commit activity
    Rust 13 Apache-2.0 0 0 0 Updated Oct 13, 2024
  • endian-num Public

    Byte-order-aware numeric types.

    rust-osdev/endian-num’s past year of commit activity
    Rust 11 Apache-2.0 0 0 0 Updated Oct 13, 2024