# 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/).

Videos of the operating system working on REAL hardware:

- [Interactive shell demo](https://git.kamkow1lair.pl/kamkow1/mop3-videos/raw/branch/master/mop3_ce_demo.mp4)
- [Working PS/2 keyboard driver](https://git.kamkow1lair.pl/kamkow1/mop3-videos/raw/branch/master/ps2kb_driver_test.mp4)
- [scheduler demo & mutex synchronization](https://git.kamkow1lair.pl/kamkow1/mop3-videos/raw/branch/master/MOP3_video_test.mp4)

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

The development infra is designed around Linux/POSIX utilites, so it will not work on Windows. I should put
this in a dockerfile, but that will have to wait.

To build everything:

```
./aux/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 ;).
