doc: fix readme links

This commit is contained in:
Mark Poliakov 2024-12-10 20:59:03 +02:00
parent 9b71caa103
commit 8635914ba1

View File

@ -8,10 +8,10 @@ Rust Unix-like operating system.
Main features Main features
------------- -------------
* Architecture support: * Architecture support:
* [aarch64](/kernel/src/arch/aarch64) * [aarch64](kernel/src/arch/aarch64)
* [x86_64](/kernel/src/arch/x86_64) * [x86_64](kernel/src/arch/x86_64)
* [i686](/kernel/src/arch/i686) (Pentium Pro and later) * [i686](kernel/src/arch/i686) (Pentium Pro and later)
* Core features: * Core features:
* Kernel/userspace preemptive multithreading * Kernel/userspace preemptive multithreading
* Kernel-space multitasking with `async`/`await` runtime * Kernel-space multitasking with `async`/`await` runtime
@ -25,14 +25,14 @@ Main features
* devfs * devfs
* ext2 * ext2
* Userspace features: * Userspace features:
* [Kernel-user ABI](/lib/abi-def/yggdrasil.abi) generated from a rust-like description language * [Kernel-user ABI](lib/abi-def/yggdrasil.abi) generated from a rust-like description language
* Sanitized system calls better suited for use in Rust * Sanitized system calls better suited for use in Rust
* Binary formats: ELF + `#!/...` shebangs * Binary formats: ELF + `#!/...` shebangs
* C compatibility through a [custom Rust libc](/userspace/lib/ygglibc) * C compatibility through a [custom Rust libc](userspace/lib/ygglibc)
* Userspace multithreading * Userspace multithreading
* Synchronization primitives through futex-like interface * Synchronization primitives through futex-like interface
* Unix-like signals and exceptions * Unix-like signals and exceptions
* [Dynamic loader](/userspace/dyn-loader) for linking with shared libraries * [Dynamic loader](userspace/dyn-loader) for linking with shared libraries
* Hardware features: * Hardware features:
* PCI Express devices * PCI Express devices
* NVMe drive support (read/write, currently x86_64 only, due to lack of MSI-X support on aarch64/i686). * NVMe drive support (read/write, currently x86_64 only, due to lack of MSI-X support on aarch64/i686).
@ -73,7 +73,7 @@ Prerequisites:
* ~40G of free disk space for a full build * ~40G of free disk space for a full build
* Patience * Patience
**NOTE** Full OS build requires you to build the `*-unknown-yggdrasil` **NOTE** Full OS build requires you to build the `*-unknown-yggdrasil`
Rust toolchain, which may take quite a while, so be prepared. Rust toolchain, which may take quite a while, so be prepared.
Steps: Steps:
@ -103,14 +103,14 @@ Steps:
``` ```
2. Run `cargo xtask toolchain` to fetch, build and link the toolchain 2. Run `cargo xtask toolchain` to fetch, build and link the toolchain
**NOTE** if toolchain fetch fails for some reason, try cloning directly **NOTE** if toolchain fetch fails for some reason, try cloning directly
from `https://git.alnyan.me/yggdrasil/yggdrasil-rust.git` with appropriate from `https://git.alnyan.me/yggdrasil/yggdrasil-rust.git` with appropriate
branch. branch.
3. Run `cargo xtask` to build the OS. 3. Run `cargo xtask` to build the OS.
Once the OS has been built, you can run it in QEMU by executing Once the OS has been built, you can run it in QEMU by executing
`cargo xtask qemu`. For more `xtask` commands, see `cargo xtask --help`. `cargo xtask qemu`. For more `xtask` commands, see `cargo xtask --help`.
General plans (in no particular order) General plans (in no particular order)
@ -127,6 +127,6 @@ In addition to eternal code cleanup, I've been doing quite a lazy job at that la
Navigation Navigation
---------- ----------
* Kernel: [`/kernel`](/kernel) * Kernel: [`kernel`](kernel)
* Userspace: [`/userspace`](/userspace) * Userspace: [`userspace`](userspace)
* ABI definitions: [`/lib/abi-def`](/lib/abi-def) * ABI definitions: [`lib/abi-def`](lib/abi-def)