48 lines
1.3 KiB
Markdown
48 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=/home/jacob/Desktop/Code/FoundryOS/build/OVMF_CODE.fd: Could not open '/home/jacob/Desktop/Code/FoundryOS/build/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
|
|
```
|
|
|
|
If you have any other issues, feel free to create an issue or a PR. |