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>
4.6 KiB
4.6 KiB
DarkForge Linux — Phase 12 Integration Test Checklist
This checklist covers end-to-end testing of every phase's deliverables.
Pre-Test Requirements
- QEMU with OVMF (UEFI firmware) installed on the host
- At least 100GB free disk space for QEMU images
- DarkForge ISO built and bootable
Phase 0 — Toolchain Bootstrap
- All source tarballs download successfully
- Binutils pass 1 compiles without errors
- GCC pass 1 compiles without errors
- Linux headers install to
$LFS/usr/include - Glibc compiles and passes all 6 sanity checks
- Libstdc++ compiles
- All Chapter 6 temporary tools build
- GCC pass 2 produces a working
cccompiler - "Hello World" test compiles and runs inside chroot
- Exit:
echo 'int main(){}' | cc -x c - && ./a.outsucceeds
Phase 1 — dpack Core
cargo build --releasecompiles with 0 errors and 0 warningscargo test— all unit tests passdpack --versionprints version infodpack install zlib— resolves deps, downloads, builds, installs, registers in dbdpack list— shows zlib as installeddpack info zlib— shows correct metadatadpack remove zlib— removes files, unregistersdpack search compression— finds zlib
Phase 2 — dpack Advanced
dpack convert Pkgfile— converts a real CRUX Pkgfile to valid TOMLdpack convert *.ebuild— converts a real Gentoo ebuild to valid TOML- Converted TOML parses without errors when loaded by dpack
dpack check— reports file conflicts and scans solibsdpack upgrade— compares versions and offers upgrade plan
Phase 3 — Base System Packages
- All 67 core/ packages have valid TOML definitions
- All dependencies resolve within core/ (no missing deps)
- At least 5 representative packages build successfully: zlib, ncurses, bash, openssl, python
- Exit: minimal system boots to shell in QEMU
Phase 4 — Kernel
make olddefconfigsucceeds on the config file- Kernel compiles with
make -j32 - Kernel boots via EFISTUB in QEMU (using OVMF)
dmesgshows: AMD Zen CPU detected, NVMe detected, R8169 NIC detectednvidia-smiworks after installing nvidia-open modules
Phase 5 — Init System
- System boots through rc.sysinit without errors
- All daemons in rc.conf start successfully (eudev, syslog, dbus, dhcpcd, pipewire)
- Hostname is set correctly
- Timezone is applied
- Network comes up via dhcpcd
- Auto-login on tty1 works (no password prompt)
rc.shutdownstops daemons and unmounts cleanly
Phase 6 — Desktop
- dwl compositor launches on tty1 login
- foot terminal opens inside dwl
- fuzzel launcher works (Mod+d or configured key)
- Firefox launches and renders a web page
- XWayland works (test with
xtermorglxgears) - wl-clipboard copy/paste works
- grim screenshot works
- PipeWire audio plays sound (test with
pw-play)
Phase 7 — NVIDIA
- nvidia-open kernel modules load (lsmod shows nvidia, nvidia-drm)
nvidia-smishows RTX 5090 with driver version- Vulkan works:
vulkaninfoshows NVIDIA GPU vkcuberenders spinning cube- OpenGL works:
glxgearsrenders via XWayland - GBM backend works for Wayland (dwl uses nvidia-drm)
Phase 8 — Gaming
- Steam launches and logs in
- Steam can download and run a Proton game
- Wine runs a Windows executable
- mangohud overlay shows FPS in a Vulkan game
- gamemode activates when a game launches
- PrismLauncher launches and can start Minecraft
Phase 9 — Applications
- WezTerm launches and is usable
- FreeCAD launches (if built)
- AMD microcode loaded at boot (
dmesg | grep microcode)
Phase 10 — ISO
build-iso.shcompletes without errors- ISO boots in QEMU with OVMF
- Live environment drops to shell
- Installer is accessible via
installcommand
Phase 11 — Installer
- Disk selection lists available drives
- Auto-partition creates ESP + swap + root
- Filesystems format correctly
- Base system installs to target
- User account is created with correct groups
- Locale and timezone are applied
- EFISTUB boot entry is created
- System reboots into installed DarkForge
End-to-End Flow
- Fresh ISO → install → reboot → auto-login → dwl → Firefox → Steam game
dpack installanddpack removework on the installed system- System hibernates and resumes (96GB swap)
- Clean shutdown via
shutdown -h now