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 801 132

  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 159

  4. acpi acpi Public

    Rust library for parsing ACPI tables and interpreting AML

    Rust 203 65

Repositories

Showing 10 of 29 repositories
  • bootloader Public

    An experimental pure-Rust x86 bootloader

    rust-osdev/bootloader’s past year of commit activity
    Rust 1,396 Apache-2.0 214 73 (1 issue needs help) 5 Updated Nov 22, 2024
  • homepage Public
    rust-osdev/homepage’s past year of commit activity
    CSS 119 Apache-2.0 34 13 2 Updated Nov 21, 2024
  • acpi Public

    Rust library for parsing ACPI tables and interpreting AML

    rust-osdev/acpi’s past year of commit activity
    Rust 203 Apache-2.0 65 35 8 Updated Nov 20, 2024
  • rust-osdev/ovmf-prebuilt’s past year of commit activity
    Rust 26 Apache-2.0 7 1 0 Updated Nov 20, 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,322 MPL-2.0 159 29 (4 issues need help) 6 Updated Nov 18, 2024
  • x86_64 Public

    Library to program x86_64 hardware.

    rust-osdev/x86_64’s past year of commit activity
    Rust 801 Apache-2.0 132 24 (3 issues need help) 7 Updated Nov 16, 2024
  • uart_16550 Public

    Minimal support for uart_16550 serial output.

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

    Rusty wrappers for Multiboot2.

    rust-osdev/multiboot2’s past year of commit activity
    Rust 113 Apache-2.0 56 4 2 Updated Nov 1, 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 12 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