Big script
This commit is contained in:
46
toolchain/scripts/178-sysvinit.sh
Executable file
46
toolchain/scripts/178-sysvinit.sh
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/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 ==="
|
||||
Reference in New Issue
Block a user