# System Requirements

***

### Development Environment

#### Supported Platforms

| Platform          | Status       | Notes                       |
| ----------------- | ------------ | --------------------------- |
| Linux (x86\_64)   | Full support | Recommended                 |
| macOS (Intel/ARM) | Full support | Requires Command Line Tools |
| Windows (WSL2)    | Supported    | Use Ubuntu WSL              |

***

#### Software Dependencies

| Tool | Version | Purpose                |
| ---- | ------- | ---------------------- |
| Rust | nightly | Compiler               |
| QEMU | 7.0+    | Emulation              |
| OVMF | Latest  | UEFI firmware for QEMU |
| Make | 4.0+    | Build orchestration    |
| Git  | 2.0+    | Version control        |

***

#### `Rust Components`

Required components (installed via rustup):

```bash
rustup toolchain install nightly
rustup target add x86_64-unknown-uefi --toolchain nightly
rustup component add rust-src --toolchain nightly
rustup component add llvm-tools-preview --toolchain nightly
rustup component add rustfmt --toolchain nightly
rustup component add clippy --toolchain nightly
```

***

### Hardware Requirements

#### `For Development (QEMU)`

> **CPU**: Any x86\_64 processor

> **RAM**: 4GB minimum (8GB recommended)

> **Disk**: 2GB free space

#### `For Native Boot`

| Component | Minimum             | Recommended                |
| --------- | ------------------- | -------------------------- |
| CPU       | x86\_64 with RDRAND | Intel Xeon / AMD EPYC      |
| RAM       | 512MB               | 4GB+                       |
| Storage   | 100MB               | SSD recommended            |
| Firmware  | UEFI 2.0            | UEFI 2.5+ with Secure Boot |

#### Security Features (Optional but Recommended)

> TPM 2.0

> Intel TXT / AMD SEV

> SMEP/SMAP support

> Control Flow Enforcement (CET)

***

### Platform-Specific Setup

#### Linux (Debian/Ubuntu)

```bash
sudo apt update
sudo apt install qemu-system-x86 ovmf build-essential
```

#### Linux (Fedora/RHEL)

```bash
sudo dnf install qemu-system-x86 edk2-ovmf make gcc
```

#### Linux (Arch)

```bash
sudo pacman -S qemu-full edk2-ovmf base-devel
```

#### macOS

```bash
brew install qemu
xcode-select --install
```

The Makefile automatically configures macOS-specific paths for:

* SDKROOT
* AR (archiver)
* CC (clang compiler)

***

#### Windows (WSL2)

1. Install WSL2 with Ubuntu
2. Follow Linux instructions inside WSL
3. Use WSLg for graphical output
