diff --git a/README.md b/README.md index ee687ed..896a9b9 100644 --- a/README.md +++ b/README.md @@ -28,12 +28,21 @@ Licensed under the GNU Public License v3. See [LICENSE](LICENSE) for details. To build an ISO image that you can boot, there are several prerequisites: +- `rustup` command installed - `limine` command installed - `xorriso` command installed +- `make` command installed +- `qemu-system-x86_64` command installed (for running) -Then run the [build_iso.sh](build_iso.sh) script. It will generate `gila.iso`. +Then run `make` to invoke the [Makefile](Makefile). -Running the kernel requires `qemu-system-{ARCH}`. +- `make prepare`: Installs needed Rust toolchain. +- `make clean`: Cleans all built files. +- `make gila`: Builds the kernel ELF file. +- `make iso`: Builds the bootable ISO with Limine installed. +- `make run`: Builds the ISO and boots it in QEMU. + +TODO: This build setup is not compatible with anything other than `x86_64`. You can install all these dependencies automatically by using `nix-shell` and supplying [shell.nix](shell.nix) as an argument. diff --git a/shell.nix b/shell.nix index 3f24af2..d9acacb 100644 --- a/shell.nix +++ b/shell.nix @@ -16,6 +16,7 @@ pkgs.mkShell { xorriso rustup qemu + make ];