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:
49
toolchain/scripts/030-util-linux.sh
Executable file
49
toolchain/scripts/030-util-linux.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# ============================================================================
|
||||
# DarkForge Linux — Phase 0, Chapter 7: Util-linux (Chroot)
|
||||
# ============================================================================
|
||||
# Purpose: Build util-linux (essential system utilities: mount, fdisk,
|
||||
# lsblk, etc.). Minimal build for bootstrapping — the full build
|
||||
# happens in Phase 3.
|
||||
# Inputs: /sources/util-linux-2.40.4.tar.xz
|
||||
# Outputs: util-linux programs and libraries in /usr/
|
||||
# Assumes: Running inside chroot
|
||||
# Ref: LFS 13.0 §7.12
|
||||
# ============================================================================
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
PACKAGE="util-linux"
|
||||
VERSION="2.40.4"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Chroot) ==="
|
||||
|
||||
cd /sources
|
||||
tar -xf "${PACKAGE}-${VERSION}.tar.xz"
|
||||
cd "${PACKAGE}-${VERSION}"
|
||||
|
||||
# Create the adjtime file location
|
||||
mkdir -pv /var/lib/hwclock
|
||||
|
||||
./configure \
|
||||
--libdir=/usr/lib \
|
||||
--runstatedir=/run \
|
||||
--disable-chfn-chsh \
|
||||
--disable-login \
|
||||
--disable-nologin \
|
||||
--disable-su \
|
||||
--disable-setpriv \
|
||||
--disable-runuser \
|
||||
--disable-pylibmount \
|
||||
--disable-static \
|
||||
--disable-liblastlog2 \
|
||||
--without-python \
|
||||
ADJTIME_PATH=/var/lib/hwclock/adjtime \
|
||||
--docdir=/usr/share/doc/util-linux-${VERSION}
|
||||
|
||||
make
|
||||
make install
|
||||
|
||||
cd /sources
|
||||
rm -rf "${PACKAGE}-${VERSION}"
|
||||
echo "=== ${PACKAGE}-${VERSION} complete ==="
|
||||
Reference in New Issue
Block a user