Skip to content

Zakki0925224/myos-x86_64

Repository files navigation

myos-x86_64

myos-x86_64 is a hobby operating system written in Rust.

This is a replacement project for the previous myos.

Screenshots

Features

  • Written in Rust
  • My own UEFI boot loader by using uefi-rs
  • x86_64 kernel
  • PIC (Intel 8259A)
  • Device support
    • PS/2 Keyboard, Mouse
    • Serial connection (UART 16650A)
    • PCI devices
    • USB devices (xHC) (WIP)
  • GUI support by using UEFI GOP
  • Kernel console (input from PS/2 Keyboard)
  • Initramfs (but here we call FAT32 formatted image initramfs)
  • Own virtual file system (WIP)
  • Userland applications (Standard C library for myos is here)

Third party

  • OVMF from EDK II (included)
  • Cozette (download released binary when build)
  • QEMU (for debugging)

How to build

Minimum packages required to build and run

  • For build kernel

    • rustup (and Rust toolchain)
    • python3
    • build-essential
    • lld
    • qemu
    • dosfstools
    • bdf2psf (convert bdf file due to bug in cozette.psf)
  • For build QEMU

    • ninja-build
    • meson
    • libglib2.0-dev
    • libsdl2-dev
$ git clone https://github.com/Zakki0925224/myos-x86_64.git
$ cd myos-x86_64
$ python3 ./task.py task_build

If you run task.py without an argument, you can see the list of commands.

About

A hobby operating system written in Rust.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published