KatyPerryOS

A modern minimalistic 64-bit OS written in Rust.

Moderate Pure Nim score 35/100 · last commit 2025-11-02 · 4 stars · tests present · no docs generated

Summary

Latest Version Unknown
License Unknown
CI Status Failing
Stars 4
Forks 0
Open Issues 0
Last Commit 2025-11-02
Downloads 0
Last Indexed 2026-09-07 06:08

Installation

nimble install KatyPerryOS
choosenim install KatyPerryOS
git clone https://gitlab.com/richardanyalai/amongos

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
KatyPerryOS - - - - - - -

README

Introduction

KatyPerryOS is a minimalistic OS aiming the 64-bit Intel architecture, written in Rust using the latest technologies. The booting process and the setup of the framebuffer is handled by the bootboot micro-kernel loader.

Implemented features

  • [x] Text console
  • [x] Loading descriptor tables
  • [x] Working interrupts
  • [x] PIT timer
  • [x] Serial port communication
  • [x] Parallel port communication
  • [x] PS/2 Keyboard driver
  • [x] PS/2 Mouse driver
  • [ ] Paging
  • [x] Heap allocator
  • [x] Internal clock (CMOS, RTC)
  • [x] PCI devices
  • [x] ACPI
  • [ ] Multitasking
  • [ ] ELF64 parser
  • [ ] ATA driver
  • [ ] Virtual file system
  • [ ] Network driver
  • [ ] Usermode
  • [ ] Shell
  • [ ] GUI, window management

Photos

KatyPerryOS running in QEMU

qemu

KatyPerryOS running on real hardware (Lenovo Ideapad 5 15ARE05 with AMD Ryzen 5)

realhw

Getting started

You will need Rust, GNU Make and QEMU installed on your machine.

After installing Rust you have to install the xbuild and src components by running cargo install cargo-xbuild cargo-src

Instructions for building and running the OS:

# building the bootable ISO
make

# running the OS in QEMU
make run

# cleaning the build directory
make clean

# writing bootable ISO to USB drive (run as root)
dd bs=4M conv=fsync oflag=direct status=progress if=build/aos.img of=/dev/sdx

Documentation

For the full, comprehensive documentation please read the markdown documents in the docs folder.

Resources

Rust
bootboot
OSDev Wiki > Rust
Writing an OS in Rust
This Month in Rust OSDev

Licensing

KatyPerryOS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

KatyPerryOS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with KatyPerryOS. If not, see https://www.gnu.org/licenses/.