# MOP3 operating system documentation
MOP3 is a hobby OS project of mine ;).
Development is logged on my blog on [my website](https://www.kamkow1lair.pl/).
I'm testing on HP ThinClient T730, which is a nice mini-PC with all the old-school peripherals you
wouldn't find on very fancy/modern hardware.
## What does MOP3 mean?
MOP stands for My OS Project. I've decided to call it that, because I didn't have a better idea for a name
and also most hobby OS names are really cringey/corny (tbh this one is too ;( ). 3 comes from the fact that this
is the third rewrite of the same OS - and I still reuse parts from older code in this project.
## Deploying the OS via a live ISO
### Get a prebuilt ISO (master)
[Download release](https://mop.kamkow1lair.pl/get-mop/release/mop3-release.iso)
[Download debug](https://mop.kamkow1lair.pl/get-mop/debug/mop3-debug.iso)
#### Symbol maps (useful for debugging addresses)
[Download release symbol maps](https://mop.kamkow1lair.pl/get-mop/release/symbol-maps-release.zip)
[Download debug symbol maps](https://mop.kamkow1lair.pl/get-mop/debug/symbol-maps-debug.zip)
Commandline:
```
# ISO
wget -c https://mop.kamkow1lair.pl/get-mop/release/mop3-release.iso
# Maps .zip
wget -c https://mop.kamkow1lair.pl/get-mop/release/symbol-maps-release.zip
```
```
# ISO
wget -c https://mop.kamkow1lair.pl/get-mop/debug/mop3-debug.iso
# Maps .zip
wget -c https://mop.kamkow1lair.pl/get-mop/release/symbol-maps-debug.zip
```
### Building MOP3 yourself
The development infra is designed around Linux/POSIX utilites, so it will not work on Windows.
There is a Dockerfile for your convenience though.
To build everything:
```
./aux/devel.sh
```
Or with docker
```
./aux/docker_devel.sh
```
WARNING: This will write the ISO to your device of choice! Be careful!
```
sudo ./aux/write_iso.sh /dev/myusb
sudo eject /dev/myusb
```
And now you can plug in your USB and boot it up! Enjoy ;).
# Showcase!
Videos of the operating system working on REAL hardware:
## PCI-IDE native driver + text editor
## Interactive shell
## PS/2 keyboard driver test
## Scheduling and mutexes