diff options
| author | Tianhao Wang <shrik3@riseup.net> | 2023-03-11 19:26:49 +0100 |
|---|---|---|
| committer | Tianhao Wang <shrik3@riseup.net> | 2023-03-11 19:26:49 +0100 |
| commit | 6ee191ced1cd9998caa4cca9531229ddd83840bb (patch) | |
| tree | 2439da0b2aed60f84b54ce78a3476ecf80cc92e9 /readme.md | |
| parent | aec1686102abc5c9099c198e7798bcb7c94b3402 (diff) | |
readme
Diffstat (limited to 'readme.md')
| -rw-r--r-- | readme.md | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..1addfa1 --- /dev/null +++ b/readme.md @@ -0,0 +1,47 @@ +# The rust port of OOStuBS [WIP] + +This is a tool bare metal operation system implemented in Rust. Apologies for my +shitty code, I'm a rust beginner. + +The project is based on the OOStuBS, an OS exercise project used in some German +Universities. This one in perticular, is based on the TU Dresden version +(Operating System Construction), led by my Professor Dr. Horst Schirmeier. + + +**Status** +[X] - Basic code structure +[X] - Build minimal iso image +[X] - bootable using grub +[X] - Setting up CGA display, print something (hello world) +[ ] - Keyboard controller and input handler +[ ] - Interrupt handler +[ ] - Timer Interrupt +[ ] - Threading +[ ] - Scheduler +[ ] - Synchronization Primitives + +**Dependencies** +- cargo / rustc (nightly) +- xbuild for crossbuild +- basics: nasm, make, glibc, ld etc. +- xorriso and grub (to create bootable image) +- qemu-system-x86_64 (optionly for simulation) + +**Before building** +- You may need to add the rust sources component by `rustup component add rust-src` + +**How to build** +- simply run `make`, you will get `bootdisk.iso`, which you can use to boot a + bare metal +- use `make qemu` to load and test the iso image with qemu + +# Remarks +**Why not projects like [blog_os](https://os.phil-opp.com/)?** +firstly, because it's my own practice. "What I can't create, I don't understand". +Secondly, the newest revision of *blog_os* can only be booted with BIOS, not +UEFI. And the complexity (e.g. the sartup.s) is hidden behind the `bootimage`, +I feel necessary to go through the painful part. + +**Your code sucks** +Yes. I'm a rust beginner. + |
