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>
41 lines
1.2 KiB
Bash
Executable File
41 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# ============================================================================
|
|
# DarkForge Linux — Phase 0, Chapter 7: Perl (Chroot)
|
|
# ============================================================================
|
|
# Purpose: Build Perl (scripting language). Many build systems and test
|
|
# suites depend on Perl. This is a minimal build for bootstrapping.
|
|
# Inputs: /sources/perl-5.40.2.tar.xz
|
|
# Outputs: perl in /usr/bin/
|
|
# Assumes: Running inside chroot
|
|
# Ref: LFS 13.0 §7.9
|
|
# ============================================================================
|
|
|
|
set -euo pipefail
|
|
|
|
PACKAGE="perl"
|
|
VERSION="5.40.2"
|
|
|
|
echo "=== Building ${PACKAGE}-${VERSION} (Chroot) ==="
|
|
|
|
cd /sources
|
|
tar -xf "${PACKAGE}-${VERSION}.tar.xz"
|
|
cd "${PACKAGE}-${VERSION}"
|
|
|
|
sh Configure -des \
|
|
-D prefix=/usr \
|
|
-D vendorprefix=/usr \
|
|
-D useshrplib \
|
|
-D privlib=/usr/lib/perl5/5.40/core_perl \
|
|
-D archlib=/usr/lib/perl5/5.40/core_perl \
|
|
-D sitelib=/usr/lib/perl5/5.40/site_perl \
|
|
-D sitearch=/usr/lib/perl5/5.40/site_perl \
|
|
-D vendorlib=/usr/lib/perl5/5.40/vendor_perl \
|
|
-D vendorarch=/usr/lib/perl5/5.40/vendor_perl
|
|
|
|
make
|
|
make install
|
|
|
|
cd /sources
|
|
rm -rf "${PACKAGE}-${VERSION}"
|
|
echo "=== ${PACKAGE}-${VERSION} complete ==="
|