Files

52 lines
1.3 KiB
Markdown

# FoundryOS
## Cloning
```sh
git clone https://git.zxq5.dev/OsDev/FoundryOS.git
```
## Build dependencies
* latest rust nightly release
* all necessary rust components installed
* xorriso: creates ISO images to be booted from.
* (Optional / Recommended) qemu: to run the kernel. (this may be packaged as qemu-desktop)
* (Optional) GDB: for debugging the kernel.
```sh
rustup update
rustup override set nightly
rustup component add rust-src
rustup component add llvm-tools-preview
```
## Building & Running in qemu
```sh
cargo run
```
## Running in GDB
```sh
USE_GDB=1 cargo run
```
## Build errors
If you see a qemu error like this:
```
qemu-system-x86_64: -drive if=pflash,format=raw,readonly=on,file=<...>/OVMF_CODE.fd: Could not open '<...>/OVMF_CODE.fd': No such file or directory
```
Simply delete the ./build directory and try to rebuild the program. Using the runner script or `cargo run` will download the required files for you, this is because the script only checks for the presence of one file and not the VARS file.
Alternatively, you may disable using a UEFI firmware with qemu like so:
```sh
USE_LEGACY_BIOS=1 cargo run
```
## Debugging
See [debugging](docs/Debugging/DEBUGGING.md) for some help with this, including commands to help with disassembly.
If you have any other issues, feel free to create an issue or a PR.