2019-12-29 07:28:19 +00:00
|
|
|
# MOROS: Omniscient Rust Operating System
|
2019-12-28 17:08:11 +00:00
|
|
|
|
2020-01-04 17:21:16 +00:00
|
|
|
```
|
2020-01-06 21:46:15 +00:00
|
|
|
.100 110. .1100. 111110. .1001. .01000.
|
|
|
|
00'1001`11 .11 01. 00 `00 .10 00. 10' 11
|
|
|
|
01 00 10 10 00 001101' 01 00 `100.
|
|
|
|
10 01 10 01 11 01`00 01 11 `100.
|
|
|
|
00 01 01 `00 11' 10 `11. `00 11' 01 00
|
|
|
|
11 10 10 `1001' 00 01 `0110' `01101'
|
2020-01-04 17:21:16 +00:00
|
|
|
```
|
2019-12-28 17:08:11 +00:00
|
|
|
|
2020-01-04 17:21:16 +00:00
|
|
|
MOROS is a toy operating system written in Rust.
|
2019-12-29 10:16:59 +00:00
|
|
|
|
2019-12-28 17:08:11 +00:00
|
|
|
## Usage
|
|
|
|
|
|
|
|
Install tools:
|
|
|
|
|
2019-12-29 10:16:59 +00:00
|
|
|
curl https://sh.rustup.rs -sSf | sh
|
|
|
|
rustup install nightly
|
|
|
|
rustup default nightly
|
2020-01-14 22:54:46 +00:00
|
|
|
rustup component add rust-src
|
2019-12-28 17:08:11 +00:00
|
|
|
cargo install cargo-xbuild bootimage
|
|
|
|
|
|
|
|
Run with:
|
|
|
|
|
2020-01-15 21:33:48 +00:00
|
|
|
cargo xrun --release -- \
|
|
|
|
-cpu max \
|
|
|
|
-rtc base=localtime \
|
|
|
|
-nic model=rtl8139 \
|
|
|
|
-hdc disk.img
|
|
|
|
|
|
|
|
Or with a serial console:
|
|
|
|
|
|
|
|
cargo xrun --release -- \
|
|
|
|
-cpu max \
|
|
|
|
-rtc base=localtime \
|
|
|
|
-nic model=rtl8139 \
|
|
|
|
-hdc disk.img \
|
|
|
|
-display none \
|
|
|
|
-serial stdio
|
|
|
|
|
|
|
|
Or with `cool-retro-term` for a retro console look:
|
|
|
|
|
|
|
|
sh run/cool-retro-term.sh
|
2019-12-29 10:16:59 +00:00
|
|
|
|
|
|
|
|
|
|
|
## LICENSE
|
|
|
|
|
|
|
|
This project started from the [seventh post][1] of the second edition of
|
|
|
|
[Writing an OS in Rust][2] by Philipp Oppermann.
|
|
|
|
|
|
|
|
MOROS is released under MIT.
|
|
|
|
|
|
|
|
[1]: https://github.com/phil-opp/blog_os/tree/post-07
|
|
|
|
[2]: https://os.phil-opp.com
|