Initial commit: DarkForge Linux — Phases 0-12
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>
This commit is contained in:
67
toolchain/VERSION_MANIFEST.md
Normal file
67
toolchain/VERSION_MANIFEST.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# DarkForge Linux — Phase 0 Toolchain Version Manifest
|
||||
# Generated: 2026-03-19
|
||||
# Rule: Always use latest stable release (CLAUDE.md §3)
|
||||
# Base reference: LFS 13.0 (r13.0-4, 2026-03-14)
|
||||
|
||||
## Cross-Toolchain (Chapter 5 equivalents)
|
||||
|
||||
| Package | Version | Source URL | Note |
|
||||
|----------------|---------|-------------------------------------------------------------------------|--------------------------------|
|
||||
| binutils | 2.46 | https://ftp.gnu.org/gnu/binutils/binutils-2.46.tar.xz | LFS uses 2.46.0 (same) |
|
||||
| gcc | 15.2.0 | https://ftp.gnu.org/pub/gnu/gcc/gcc-15.2.0/gcc-15.2.0.tar.xz | Supports -march=znver5 |
|
||||
| glibc | 2.43 | https://ftp.gnu.org/gnu/glibc/glibc-2.43.tar.xz | |
|
||||
| linux | 6.19.8 | https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.19.8.tar.xz | Headers only for Phase 0 |
|
||||
| mpfr | 4.2.2 | https://www.mpfr.org/mpfr-current/mpfr-4.2.2.tar.xz | GCC dependency |
|
||||
| gmp | 6.3.0 | https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz | GCC dependency |
|
||||
| mpc | 1.3.1 | https://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz | GCC dependency |
|
||||
|
||||
## Temporary Tools (Chapter 6 equivalents)
|
||||
|
||||
| Package | Version | Source URL | Note |
|
||||
|----------------|---------|-------------------------------------------------------------------------|--------------------------------|
|
||||
| m4 | 1.4.20 | https://ftp.gnu.org/gnu/m4/m4-1.4.20.tar.xz | Newer than LFS (1.4.19) |
|
||||
| ncurses | 6.5 | https://invisible-island.net/datafiles/release/ncurses-6.5.tar.gz | |
|
||||
| bash | 5.3 | https://ftp.gnu.org/gnu/bash/bash-5.3.tar.gz | |
|
||||
| coreutils | 9.6 | https://ftp.gnu.org/gnu/coreutils/coreutils-9.6.tar.xz | LFS 13 uses 9.6 |
|
||||
| diffutils | 3.10 | https://ftp.gnu.org/gnu/diffutils/diffutils-3.10.tar.xz | |
|
||||
| file | 5.47 | https://astron.com/pub/file/file-5.47.tar.gz | LFS 13 version |
|
||||
| findutils | 4.10.0 | https://ftp.gnu.org/gnu/findutils/findutils-4.10.0.tar.xz | |
|
||||
| gawk | 5.4.0 | https://ftp.gnu.org/gnu/gawk/gawk-5.4.0.tar.xz | |
|
||||
| grep | 3.14 | https://ftp.gnu.org/gnu/grep/grep-3.14.tar.xz | LFS 13 version |
|
||||
| gzip | 1.14 | https://ftp.gnu.org/gnu/gzip/gzip-1.14.tar.xz | Newer than LFS (1.13) |
|
||||
| make | 4.4.1 | https://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz | |
|
||||
| patch | 2.8 | https://ftp.gnu.org/gnu/patch/patch-2.8.tar.xz | Newer than LFS (2.7.6) |
|
||||
| sed | 4.9 | https://ftp.gnu.org/gnu/sed/sed-4.9.tar.xz | LFS 13 version |
|
||||
| tar | 1.35 | https://ftp.gnu.org/gnu/tar/tar-1.35.tar.xz | |
|
||||
| xz | 5.8.1 | https://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1.tar.gz | Newer than LFS (5.6.1) |
|
||||
| zstd | 1.5.7 | https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz | |
|
||||
|
||||
## Chroot Packages (Chapter 7 equivalents)
|
||||
|
||||
| Package | Version | Source URL | Note |
|
||||
|----------------|---------|-------------------------------------------------------------------------|--------------------------------|
|
||||
| gettext | 0.23.1 | https://ftp.gnu.org/gnu/gettext/gettext-0.23.1.tar.xz | Latest stable |
|
||||
| bison | 3.8.2 | https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz | |
|
||||
| perl | 5.40.2 | https://www.cpan.org/src/5.0/perl-5.40.2.tar.xz | Latest stable 5.40.x |
|
||||
| python | 3.13.3 | https://www.python.org/ftp/python/3.13.3/Python-3.13.3.tar.xz | Latest stable 3.13.x |
|
||||
| texinfo | 7.3 | https://ftp.gnu.org/gnu/texinfo/texinfo-7.3.tar.xz | |
|
||||
| zlib | 1.3.1 | https://zlib.net/zlib-1.3.1.tar.xz | |
|
||||
|
||||
## Compiler Flags (Global Defaults)
|
||||
|
||||
```
|
||||
CFLAGS="-march=znver5 -O2 -pipe -fomit-frame-pointer"
|
||||
CXXFLAGS="${CFLAGS}"
|
||||
MAKEFLAGS="-j32"
|
||||
LDFLAGS="-Wl,-O1,--as-needed"
|
||||
```
|
||||
|
||||
Note: znver5 is supported since GCC 14.1. GCC 15.2.0 has full support.
|
||||
During cross-compilation (Pass 1), hardware-specific flags are NOT applied — they
|
||||
only take effect once we have a native compiler targeting our hardware.
|
||||
|
||||
## Patches Required
|
||||
|
||||
| Patch | Source | Used For |
|
||||
|------------------------|------------------------------------------------|-----------------|
|
||||
| glibc-fhs-1.patch | https://www.linuxfromscratch.org/patches/lfs/ | Glibc FHS dirs |
|
||||
Reference in New Issue
Block a user