47 lines
1.4 KiB
Bash
Executable File
47 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# ============================================================================
|
|
# DarkForge Linux — Phase 3, Chapter 8: sysvinit
|
|
# ============================================================================
|
|
# Purpose: Build sysvinit (init, runlevels, halt, shutdown, etc.).
|
|
# Core init system for DarkForge (replaces systemd as per spec).
|
|
# Inputs: /sources/sysvinit-3.14.tar.xz
|
|
# /sources/sysvinit-3.14-consolidated-1.patch
|
|
# Outputs: init, shutdown, halt, reboot in /sbin/
|
|
# Assumes: Running inside chroot
|
|
# Ref: LFS 13.0 §8.84
|
|
# ============================================================================
|
|
|
|
set -euo pipefail
|
|
|
|
source /sources/toolchain-scripts/100-chroot-env.sh
|
|
|
|
PACKAGE="sysvinit"
|
|
VERSION="3.14"
|
|
|
|
echo "=== Building ${PACKAGE}-${VERSION} ==="
|
|
|
|
cd /sources
|
|
tar -xf "${PACKAGE}-${VERSION}.tar.xz"
|
|
cd "${PACKAGE}-${VERSION}"
|
|
|
|
# Apply consolidated patch for compatibility fixes
|
|
patch -Np1 -i ../sysvinit-${VERSION}-consolidated-1.patch
|
|
|
|
# Build without sulogin (password-protected root shell) for simplicity
|
|
make -C src
|
|
make -C src install DESTDIR=/
|
|
|
|
# Create necessary directories for sysvinit
|
|
mkdir -pv /etc/rc.d/init.d
|
|
mkdir -pv /etc/rc.d/rc0.d
|
|
mkdir -pv /etc/rc.d/rc1.d
|
|
mkdir -pv /etc/rc.d/rc2.d
|
|
mkdir -pv /etc/rc.d/rc3.d
|
|
mkdir -pv /etc/rc.d/rc4.d
|
|
mkdir -pv /etc/rc.d/rc5.d
|
|
mkdir -pv /etc/rc.d/rc6.d
|
|
|
|
cd /sources
|
|
rm -rf "${PACKAGE}-${VERSION}"
|
|
echo "=== ${PACKAGE}-${VERSION} complete ==="
|