Changed bootstrap

This commit is contained in:
2026-03-20 13:22:01 +01:00
parent 7de732589a
commit 4afba9b11e
4 changed files with 161 additions and 22 deletions

View File

@@ -7,7 +7,8 @@
# 2. Set up directory structure, lfs user, env files
# 3. Download source tarballs
# 4. Copy toolchain scripts to $LFS so lfs user can access them
# 5. Launch build-all.sh as the lfs user
# 5. Build cross-toolchain as lfs user (Chapters 5+6)
# 6. Enter chroot and build Chapter 7 tools
#
# Usage: sudo -E bash toolchain/bootstrap.sh
# (run from the project root, e.g. /home/danny/darkforge)
@@ -53,28 +54,28 @@ echo ""
# =============================================================================
# Step 1: Create fresh loopback filesystem
# =============================================================================
info "STEP 1/5: Setting up build filesystem..."
info "STEP 1/6: Setting up build filesystem..."
bash "${SCRIPT_SRC}/000-setup-disk.sh"
echo ""
# =============================================================================
# Step 2: Set up directory structure, lfs user, and env
# =============================================================================
info "STEP 2/5: Setting up environment..."
info "STEP 2/6: Setting up environment..."
bash "${SCRIPT_SRC}/000-env-setup.sh"
echo ""
# =============================================================================
# Step 3: Download all source tarballs
# =============================================================================
info "STEP 3/5: Downloading source tarballs..."
info "STEP 3/6: Downloading source tarballs..."
bash "${SCRIPT_SRC}/000a-download-sources.sh"
echo ""
# =============================================================================
# Step 4: Copy toolchain scripts to $LFS/sources/toolchain-scripts/
# =============================================================================
info "STEP 4/5: Copying toolchain scripts to ${LFS}/sources/toolchain-scripts/..."
info "STEP 4/6: Copying toolchain scripts to ${LFS}/sources/toolchain-scripts/..."
SCRIPTS_DEST="${LFS}/sources/toolchain-scripts"
rm -rf "${SCRIPTS_DEST}"
mkdir -p "${SCRIPTS_DEST}"
@@ -87,7 +88,7 @@ echo ""
# =============================================================================
# Step 5: Run build-all.sh as lfs user
# =============================================================================
info "STEP 5/5: Building cross-toolchain as lfs user..."
info "STEP 5/6: Building cross-toolchain as lfs user..."
echo " This will take a while (30-60+ minutes on 32 threads)."
echo " Logs will be in: ${LFS}/sources/logs/"
echo ""
@@ -106,22 +107,27 @@ env -i HOME=/home/lfs TERM="${TERM}" \
fail "Build failed! Check logs in ${LFS}/sources/logs/"
}
ok "Cross-compilation phase (Chapters 5+6) complete!"
echo ""
# =============================================================================
# Step 6: Set up chroot and run Chapter 7 scripts
# =============================================================================
info "STEP 6/6: Setting up chroot and building Chapter 7 tools..."
echo ""
bash "${SCRIPTS_DEST}/023-chroot-setup.sh"
bash "${SCRIPTS_DEST}/023a-chroot-build-all.sh"
echo ""
echo "============================================================"
echo -e "${GREEN} Phase 0 cross-compilation complete!${NC}"
echo -e "${GREEN} Phase 0 is FULLY COMPLETE!${NC}"
echo "============================================================"
echo ""
echo "Next steps (run as root):"
echo "The DarkForge toolchain chroot is ready."
echo "To enter the chroot manually:"
echo ""
echo " # Enter the chroot environment:"
echo " sudo -E bash ${SCRIPTS_DEST}/023-chroot-setup.sh"
echo ""
echo " # Then inside chroot, run these in order:"
echo " bash /sources/toolchain-scripts/024-chroot-essentials.sh"
echo " bash /sources/toolchain-scripts/025-gettext.sh"
echo " bash /sources/toolchain-scripts/026-bison.sh"
echo " bash /sources/toolchain-scripts/027-perl.sh"
echo " bash /sources/toolchain-scripts/028-python.sh"
echo " bash /sources/toolchain-scripts/029-texinfo.sh"
echo " bash /sources/toolchain-scripts/030-util-linux.sh"
echo " bash /sources/toolchain-scripts/031-cleanup.sh"
echo " sudo chroot ${LFS} /usr/bin/env -i \\"
echo " HOME=/root TERM=\${TERM} \\"
echo " PATH=/usr/bin:/usr/sbin:/tools/bin \\"
echo " MAKEFLAGS=\"-j32\" /bin/bash --login"