summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md19
-rw-r--r--docs/README.md10
2 files changed, 27 insertions, 2 deletions
diff --git a/README.md b/README.md
index 9f35833..469ac15 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,13 @@
Comus is a kernel!
+## Dependencies
+
+To build comus, a c11 compiler is required, along with the gnu assembler
+and linker.
+
+To build the boot iso for qemu, `grub-mkrescue` is needed from grub.
+
## Build
Run `make build` to build the kernel.
@@ -16,6 +23,18 @@ Run `make qemu-gdb` to build and run in qemu with gdb debugging.
Run `make gdb` to start the gdb debugger.
+Run `make fmt` to format the source code.
+
+## Nix
+
+For development on NixOS run `nix develop` in the source directory.
+
+## UEFI
+
+Add `UEFI=1` as an argument to the makefile to build and run in UEFI.
+
+Requires the nix flake.
+
## Docs
See `docs/`
diff --git a/docs/README.md b/docs/README.md
index 6cf4375..3c4f052 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -20,6 +20,12 @@ amd64
Multiboot (Legacy / UEFI)
-## Moduels
+## Startup
-See MODULES.md
+1. Multiboot loads kernel into either `_start` or `_start_efi`
+ - Kernel identity maps during legacy boot (`_start`)
+2. Kernel loads GDT, and far jobs into `main`
+3. `main` loads the modules `cpu`, `mboot`, `memory`, `drivers`, `fs`, `pcb` in order.
+ - See MODULES.md
+4. Kernel loads init process (`bin/init`)
+5. Init loads user programs (sendoff!)