myos-x86_64 is a hobby operating system written in Rust.
This is a replacement project for the previous myos.
- 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)
-
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.