Skip to content

RustOS v0.2.0

Choose a tag to compare

@github-actions github-actions released this 04 May 03:41
· 25 commits to main since this release

RustOS v0.2.0

Download

  • rustos-v0.2.0.img — UEFI bootable x86_64 disk image (GPT + EFI System Partition)

Flashing to USB (recommended)

Use the provided helper script to automatically download and flash this release:

curl -fsSL https://raw.githubusercontent.com/0xnullsect0r/RustOS/main/write_to_drive.sh | bash -s -- --drive /dev/sdX

Or download and run it manually:

./write_to_drive.sh --drive /dev/sdX

Replace /dev/sdX with your USB device (e.g. /dev/sdb). Do NOT use a partition (e.g. /dev/sdb1).

Windows (Rufus): Open Rufus, select the .img file, choose "DD image" mode.

Ensure your system is set to boot in UEFI mode (not Legacy/CSM). CSM/legacy BIOS is no longer required.

Testing in QEMU (UEFI)

Install OVMF firmware first:

sudo apt-get install ovmf        # Debian/Ubuntu
sudo pacman -S edk2-ovmf         # Arch
brew install qemu                # macOS (bundles OVMF)

Then run:

qemu-system-x86_64 \
  -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd \
  -drive format=raw,file=rustos-v0.2.0.img \
  -device qemu-xhci,id=xhci \
  -drive if=none,id=usbdisk,file=YOUR_FAT32_DISK.img,format=raw \
  -device usb-storage,bus=xhci.0,drive=usbdisk \
  -serial stdio

What's in this release

  • UEFI bootloader — boots on any modern UEFI system without CSM/legacy mode
  • Userspace rsh shell (/bin/rsh) launched by the kernel at boot
  • ELF64 process loader — run programs from USB with exec /usb/yourprogram
  • USB mass storage (XHCI) — plug in a USB drive and run usbscan to mount it at /usb
  • FAT32 read support for USB drives
  • VGA text mode, async keyboard input
  • Heap allocator, interrupt handling (IDT/GDT/PIC)