Files
darkforge/kernel
Danny 5fb597e2d6 Add git sources, check-updates, repos submodule, improve docs
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>
2026-03-19 11:58:23 +01:00
..

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

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:

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:

MODULES=(nvidia nvidia-modeset nvidia-drm nvidia-uvm)
MODULE_PARAMS=("nvidia-drm modeset=1")

Repository

git@git.dannyhaslund.dk:danny8632/darkforge.git