MARMOS is an operating system written in Rust by Francesco Giannice
MARMOS is an acronym and means "My Amazing Rust Minimal Operating System"
It is capable of running on all 64-bit x86 architecture computers with BIOS and has been found to run on QEMU as a virtual machine emulator.
- x86 CPU support (64 bit)
- Hardware interrupts
- VGA Text mode with customizable font and color palette
- Serial output
- Paging
- Heap allocation
- ACPI shutdown
- RTC clock
- PCI devices
- ATA PIO mode
- Basic filesystem to save data on a disk
- Basic shell
- Basic text editor
- Basic userspace for NASM and Rust programs
- A simple game
- A simple calculator
- An authentication system (the password is hidden)
Documentation is available in doc/ folder
To use MARMOS you can just download the marmos.img
file from the release section in GitHub, and then use it on real hardware or just on a virtual machine (I've tested that on QEMU everything works).
If you don't want to just download the image file and you'd like to compile everything from scratch, see the section below...
As I said you can just download the release image file of the operating system. But if otherwise you want to compile the whole project on your local machine, follow these instructions:
-
Install Rust:
Rust is required to compile MARMOS. You can download it from rust-lang.org.
-
Clone the repo:
git clone https://github.com/gianndev/marmos.git cd marmos
-
Compile the Rust code:
To build the image of the operating system you can use the Makefile just typing
make image
At the end of the process, a file called
marmos.img
should be created -
Run MARMOS:
Once the image file is created, you can run it with QEMU typing in the terminal
make run
Make sure to have QEMU installed
The current latest version of MARMOS is 0.1.0
The intro screen that appears for 5 seconds when you start MARMOS
The output of the shell when you type 'help'
Whan you see when you install the file system with the 'install' command and when you create your account
The screen you see the first time, saying you need to install the file system. Just type 'install' to create an account and format the disk with teh MARMOS_FS file system
This project is licensed under the terms of the GNU General Public License v3.0 only (GPL-3.0-only).
See the LICENSE file for details.