This commit is contained in:
2026-03-20 11:18:42 +01:00
parent d0c590c185
commit 0d041913be
4 changed files with 122 additions and 73 deletions

View File

@@ -3,9 +3,12 @@
# DarkForge Linux — Phase 0: Download Source Tarballs
# ============================================================================
# Purpose: Download all source tarballs needed for the toolchain bootstrap.
# Every filename is versioned and matches exactly what the build
# scripts expect. No "latest" or unversioned URLs.
# Inputs: LFS environment variable (path to target partition)
# Outputs: Source tarballs in ${LFS}/sources/
# Assumes: Internet access, wget or curl available
# Updated: 2026-03-20 — synced all versions with build scripts
# ============================================================================
set -euo pipefail
@@ -21,8 +24,7 @@ echo "=== DarkForge: Downloading source tarballs ==="
# --- Helper function ----------------------------------------------------------
download() {
local url="$1"
local filename
filename=$(basename "${url}")
local filename="${2:-$(basename "${url}")}"
if [ -f "${filename}" ]; then
echo " [SKIP] ${filename} already exists"
@@ -39,51 +41,62 @@ download() {
}
}
# --- Cross-Toolchain (Chapter 5) ---------------------------------------------
# ==============================================================================
# Cross-Toolchain (Chapter 5)
# ==============================================================================
echo ">>> Cross-Toolchain packages..."
download "http://ftp.klid.dk/ftp/gnu/binutils/binutils-2.46.0.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/gcc/gcc-15.2.0/gcc-15.2.0.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/glibc/glibc-2.43.tar.xz"
download "https://ftp.gnu.org/gnu/binutils/binutils-2.46.tar.xz"
download "https://ftp.gnu.org/gnu/gcc/gcc-15.2.0/gcc-15.2.0.tar.xz"
download "https://ftp.gnu.org/gnu/glibc/glibc-2.43.tar.xz"
download "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.19.8.tar.xz"
download "https://www.mpfr.org/mpfr-current/mpfr-4.2.2.tar.xz"
download "https://www.mpfr.org/mpfr-4.2.2/mpfr-4.2.2.tar.xz"
download "https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/mpc/mpc-1.3.1.tar.gz"
download "https://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz"
# --- Temporary Tools (Chapter 6) ---------------------------------------------
# ==============================================================================
# Temporary Tools (Chapter 6)
# ==============================================================================
echo ">>> Temporary tools packages..."
download "http://ftp.klid.dk/ftp/gnu/m4/m4-1.4.21.tar.xz"
download "https://invisible-island.net/datafiles/release/ncurses.tar.gz"
download "http://ftp.klid.dk/ftp/gnu/bash/bash-5.3.tar.gz"
download "http://ftp.klid.dk/ftp/gnu/coreutils/coreutils-9.10.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/diffutils/diffutils-3.12.tar.xz"
download "https://ftp.gnu.org/gnu/m4/m4-1.4.21.tar.xz"
download "https://invisible-island.net/datafiles/release/ncurses-6.5.tar.gz"
download "https://ftp.gnu.org/gnu/bash/bash-5.3.tar.gz"
download "https://ftp.gnu.org/gnu/coreutils/coreutils-9.6.tar.xz"
download "https://ftp.gnu.org/gnu/diffutils/diffutils-3.10.tar.xz"
download "https://astron.com/pub/file/file-5.47.tar.gz"
download "http://ftp.klid.dk/ftp/gnu/findutils/findutils-4.10.0.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/gawk/gawk-5.4.0.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/grep/grep-3.12.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/gzip/gzip-1.14.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/make/make-4.4.tar.gz"
download "http://ftp.klid.dk/ftp/gnu/patch/patch-2.8.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/sed/sed-4.9.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/tar/tar-latest.tar.xz"
download "https://ftp.gnu.org/gnu/findutils/findutils-4.10.0.tar.xz"
download "https://ftp.gnu.org/gnu/gawk/gawk-5.4.0.tar.xz"
download "https://ftp.gnu.org/gnu/grep/grep-3.14.tar.xz"
download "https://ftp.gnu.org/gnu/gzip/gzip-1.14.tar.xz"
download "https://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz"
download "https://ftp.gnu.org/gnu/patch/patch-2.8.tar.xz"
download "https://ftp.gnu.org/gnu/sed/sed-4.9.tar.xz"
download "https://ftp.gnu.org/gnu/tar/tar-1.35.tar.xz"
download "https://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1.tar.gz"
download "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz"
# --- Chroot Packages (Chapter 7) ---------------------------------------------
# ==============================================================================
# Chroot Packages (Chapter 7)
# ==============================================================================
echo ">>> Chroot packages..."
download "http://ftp.klid.dk/ftp/gnu/gettext/gettext-1.0.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/bison/bison-3.8.2.tar.xz"
download "https://ftp.gnu.org/gnu/gettext/gettext-0.23.1.tar.xz"
download "https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz"
download "https://www.cpan.org/src/5.0/perl-5.40.2.tar.xz"
download "https://www.python.org/ftp/python/3.13.3/Python-3.13.3.tar.xz"
download "http://ftp.klid.dk/ftp/gnu/texinfo/texinfo-7.3.tar.xz"
download "https://zlib.net/current/zlib.tar.gz"
download "https://github.com/util-linux/util-linux/archive/refs/tags/v2.41.3.tar.gz"
download "https://ftp.gnu.org/gnu/texinfo/texinfo-7.3.tar.xz"
download "https://zlib.net/zlib-1.3.1.tar.xz"
download "https://www.kernel.org/pub/linux/utils/util-linux/v2.40/util-linux-2.40.4.tar.xz"
# --- Patches ------------------------------------------------------------------
# ==============================================================================
# Patches
# ==============================================================================
echo ">>> Patches..."
download "https://www.linuxfromscratch.org/patches/lfs/13.0/glibc-fhs-1.patch"
# LFS 13.0 patch: glibc-2.43-fhs-1.patch (matches glibc version)
download "https://www.linuxfromscratch.org/patches/lfs/13.0/glibc-2.43-fhs-1.patch"
echo ""
echo "=== All downloads complete ==="
echo "Source tarballs are in: ${SRCDIR}/"
ls -lh "${SRCDIR}/" | tail -n +2 | wc -l
echo "files downloaded."
FILECOUNT=$(ls -1 "${SRCDIR}/"*.{tar.*,patch,gz,xz} 2>/dev/null | wc -l)
echo "${FILECOUNT} files downloaded."
echo ""
echo "Verify with: ls -lh ${SRCDIR}/"