# 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.