Complete from-scratch Linux distribution targeting AMD Ryzen 9 9950X3D + NVIDIA RTX 5090 on ASUS ROG CROSSHAIR X870E HERO. Deliverables: - dpack: custom package manager in Rust (3,800 lines) - TOML package parser, dependency resolver, build sandbox - CRUX Pkgfile and Gentoo ebuild converters - Shared library conflict detection - 124 package definitions across 4 repos (core/extra/desktop/gaming) - 34 toolchain bootstrap scripts (LFS 13.0 adapted for Zen 5) - Linux 6.19.8 kernel config (hardware-specific, fully commented) - SysVinit init system with rc.d service scripts - Live ISO builder (UEFI-only, squashfs+xorriso) - Interactive installer (GPT partitioning, EFISTUB boot) - Integration test checklist (docs/TESTING.md) No systemd. No bootloader. No display manager. Kernel boots via EFISTUB → auto-login → dwl Wayland compositor. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
70 lines
2.6 KiB
Bash
70 lines
2.6 KiB
Bash
#!/bin/bash
|
|
# ============================================================================
|
|
# DarkForge Linux — System Configuration
|
|
# ============================================================================
|
|
# /etc/rc.conf — sourced by all rc.d scripts and the init system.
|
|
# This is the single place to configure hostname, locale, timezone,
|
|
# network, daemons, and kernel modules.
|
|
# ============================================================================
|
|
|
|
# --- System identity --------------------------------------------------------
|
|
HOSTNAME="darkforge"
|
|
|
|
# --- Locale and language ----------------------------------------------------
|
|
LOCALE="en_US.UTF-8"
|
|
KEYMAP="us"
|
|
TIMEZONE="America/New_York"
|
|
# These are set during installation and can be changed here post-install.
|
|
|
|
# --- Console font -----------------------------------------------------------
|
|
FONT="ter-v18n"
|
|
# Terminus font at 18px — crisp on high-DPI displays. Requires kbd package.
|
|
# Set to "" to use the kernel default.
|
|
|
|
# --- Daemons to start at boot ----------------------------------------------
|
|
# Order matters. Each name corresponds to a script in /etc/rc.d/
|
|
# Scripts are started in listed order at boot, stopped in reverse at shutdown.
|
|
DAEMONS=(
|
|
eudev # Device manager — must be first for hardware detection
|
|
syslog # System logging
|
|
dbus # D-Bus message bus — needed by polkit, PipeWire
|
|
dhcpcd # DHCP client for ethernet
|
|
pipewire # Audio server (replaces PulseAudio)
|
|
)
|
|
|
|
# --- Kernel modules to load at boot ----------------------------------------
|
|
# Modules not auto-loaded by eudev that we need explicitly.
|
|
MODULES=(
|
|
nvidia
|
|
nvidia-modeset
|
|
nvidia-drm
|
|
nvidia-uvm
|
|
)
|
|
|
|
# --- Module parameters ------------------------------------------------------
|
|
# Pass parameters to kernel modules when loading.
|
|
# Format: "module_name parameter=value"
|
|
MODULE_PARAMS=(
|
|
"nvidia-drm modeset=1"
|
|
# nvidia-drm modeset=1 — required for Wayland DRM/KMS support
|
|
)
|
|
|
|
# --- Network ----------------------------------------------------------------
|
|
NETWORK_INTERFACE="enp6s0"
|
|
# The primary ethernet interface. Detected by eudev.
|
|
# Verify with: ip link show
|
|
# X870E Hero Realtek 2.5GbE is typically enp6s0 or similar.
|
|
|
|
NETWORK_DHCP=yes
|
|
# Use DHCP for automatic IP configuration.
|
|
# Set to "no" for static IP and configure NETWORK_IP/MASK/GATEWAY below.
|
|
|
|
#NETWORK_IP="192.168.1.100"
|
|
#NETWORK_MASK="255.255.255.0"
|
|
#NETWORK_GATEWAY="192.168.1.1"
|
|
#NETWORK_DNS="1.1.1.1 8.8.8.8"
|
|
|
|
# --- Miscellaneous ----------------------------------------------------------
|
|
HARDWARECLOCK="UTC"
|
|
# The hardware clock is set to UTC. localtime is computed from TIMEZONE.
|