aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTianhao Wang <wth@riseup.net>2024-02-01 17:13:23 +0100
committerTianhao Wang <shrik3@mailbox.org>2024-06-11 15:13:37 +0200
commit174f8130388cccfa92e985292bb34db9d9c39403 (patch)
treed223b645fab4c669571875dc8236f8ce239c35f6
parent16ff930f94a1c5cfa4a98a42a96c9b230024286b (diff)
update readme
-rw-r--r--README.md58
1 files changed, 31 insertions, 27 deletions
diff --git a/README.md b/README.md
index ca8e17e..691a23b 100644
--- a/README.md
+++ b/README.md
@@ -18,43 +18,47 @@ Universities. This one in perticular, is based on the TU Dresden version
(Operating System Construction), led by my Professor Dr. Horst Schirmeier.
**Status / Roadmap**
-[X] - Basic code structure
-[X] - Build minimal iso image
-[X] - bootable using grub
-[X] - Setting up CGA display, print something (hello world)
-[X] - Provide "printf" support
-[X] - Intigrate print into rust println! etc.
-[.] - asm! Wrappers for basic instructions
-[.] - Keyboard controller and input handler
-[.] - Interrupt handler
-[ ] - Timer Interrupt
-[ ] - Threading
-[ ] - Scheduler (single CPU)
-[ ] - Synchronization Primitives
+- [X] Basic code structure
+- [X] Build minimal iso image
+- [X] bootable using grub
+- [X] Setting up CGA display, print something (hello world)
+- [X] Intigrate print into rust println! etc.
+- [ ] asm! Wrappers for basic instructions
+- [ ] Keyboard controller and input handler
+- [ ] Interrupt handler (WIP)
+- [ ] Timer Interrupt
+- [ ] Threading
+- [ ] Scheduler (single CPU)
+- [ ] Synchronization Primitives
Beyond the original StuBS
-[ ] - Task Descriptor structures
-[ ] - Paging: PMA and paging structures
-[ ] - Paging: pagefault handler
-[ ] - user heap and mmap
-[ ] - Upperhalf Kernel
-[ ] - Address Space for each Process
-[ ] - in memory FS
-[ ] - user library
-[ ] - syscall
-[ ] - aarch64 support
-
-**Dependencies**
+- [ ] Task Descriptor structures
+- [ ] Paging: PMA and paging structures
+- [ ] Paging: pagefault handler
+- [ ] user heap and mmap
+- [ ] Upperhalf Kernel
+- [ ] Address Space for each Process
+- [ ] in memory FS
+- [ ] user library
+- [ ] syscall
+- [ ] aarch64 support
+
+## Build
+
+Please take a look at the CI manifest:
+`.builds/x86_64.yml`
+
+**>general 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**
+**before building**
- You may need to add the rust sources component by `rustup component add rust-src`
-**How to build**
+**build and run**
- 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