dpack features: - Git source support: packages can specify [source].git for cloning instead of tarball download. Supports branch, tag, and commit pinning. SHA256 can be set to "SKIP" for git sources. - check-updates command: queries upstream APIs (GitHub releases/tags) to find available updates. Packages set [source].update_check URL. - CheckUpdates CLI subcommand wired into main.rs Package changes: - FreeCAD updated to weekly-2026.03.19 development builds - dwl: added update_check URL and git source documentation - src/repos extracted to standalone git repo (danny8632/repos.git) and added as git submodule Documentation: - All 7 README.md files updated with detailed requirements sections including which Linux distros are supported, exact package names for Arch/Ubuntu/Fedora, and clear notes about which components require Linux vs can be built on macOS - dpack README: added git source and check-updates documentation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
73 lines
2.4 KiB
Markdown
73 lines
2.4 KiB
Markdown
# DarkForge Kernel Configuration
|
|
|
|
Hardware-specific Linux 6.19.8 kernel configuration for the target machine.
|
|
|
|
## Target Hardware
|
|
|
|
- **CPU:** AMD Ryzen 9 9950X3D (Zen 5, 16C/32T)
|
|
- **GPU:** NVIDIA RTX 5090 (Blackwell) — out-of-tree nvidia-open modules
|
|
- **NIC:** Realtek RTL8125BN 2.5GbE (R8169 driver)
|
|
- **NVMe:** Samsung 9100 PRO (PCIe 5.0)
|
|
- **Motherboard:** ASUS ROG CROSSHAIR X870E HERO
|
|
|
|
## Key Choices
|
|
|
|
| Feature | Config | Why |
|
|
|---------|--------|-----|
|
|
| CPU optimization | `CONFIG_MZEN4=y` | Closest kernel config symbol; real znver5 from CFLAGS |
|
|
| Scheduler | EEVDF (default) | Modern, built-in since 6.6 |
|
|
| Preemption | `CONFIG_PREEMPT=y` | Full preemption for gaming latency |
|
|
| Timer | `CONFIG_HZ_1000=y` | Lowest latency tick rate |
|
|
| CPU governor | `CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y` | P-State EPP integration |
|
|
| NVMe | `CONFIG_BLK_DEV_NVME=y` | Built-in (root is on NVMe) |
|
|
| GPU | nouveau disabled | nvidia-open kernel modules used instead |
|
|
| Boot | `CONFIG_EFI_STUB=y` | Direct UEFI boot, no bootloader |
|
|
| Network | `CONFIG_R8169=y` | Realtek 2.5GbE |
|
|
| Hibernation | `CONFIG_HIBERNATION=y` | 96GB swap partition |
|
|
| Bluetooth | `CONFIG_BLUETOOTH=n` | Disabled |
|
|
| WiFi | `CONFIG_WIRELESS=n` | Ethernet only |
|
|
|
|
Every non-default option in `config` has an inline comment explaining the rationale.
|
|
|
|
## Requirements
|
|
|
|
**Environment:** The kernel must be compiled on a Linux system — either the DarkForge chroot (after Phase 0 toolchain bootstrap) or another Linux distro with GCC 14+.
|
|
|
|
This cannot be done on macOS or Windows. If you don't have a Linux machine, use the DarkForge toolchain chroot or a VM.
|
|
|
|
**Build dependencies:** GCC 14+, make, bc, flex, bison, openssl (headers), perl, elfutils. These are all provided by the DarkForge core/ packages.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
cp config /usr/src/linux-6.19.8/.config
|
|
cd /usr/src/linux-6.19.8
|
|
make olddefconfig # fill new options with defaults
|
|
make -j32 # build with 32 threads
|
|
make modules_install
|
|
cp arch/x86/boot/bzImage /boot/vmlinuz
|
|
```
|
|
|
|
## NVIDIA Driver
|
|
|
|
The RTX 5090 requires nvidia-open kernel modules (570.86.16+). These are built out-of-tree after the kernel:
|
|
|
|
```bash
|
|
cd /usr/src/nvidia-open-570.133.07
|
|
make -j32 modules KERNEL_UNAME=$(uname -r)
|
|
make modules_install
|
|
```
|
|
|
|
The modules are loaded at boot via `/etc/rc.conf`:
|
|
|
|
```bash
|
|
MODULES=(nvidia nvidia-modeset nvidia-drm nvidia-uvm)
|
|
MODULE_PARAMS=("nvidia-drm modeset=1")
|
|
```
|
|
|
|
## Repository
|
|
|
|
```
|
|
git@git.dannyhaslund.dk:danny8632/darkforge.git
|
|
```
|