#!/bin/bash # ============================================================================ # DarkForge Linux — Phase 3, Chapter 8: eudev # ============================================================================ # Purpose: Build eudev (udev without systemd dependencies). # Device manager for /dev and /sys — required for kernel device support. # This replaces LFS §8.78 (systemd-udev) as per DarkForge spec. # Inputs: /sources/eudev-3.2.14.tar.gz # Outputs: eudev daemon, rules, and libraries in /usr/, /etc/udev/ # Assumes: Running inside chroot # Ref: LFS 13.0 §8.78 (adapted for eudev instead of systemd-udev) # https://github.com/eudev-project/eudev # ============================================================================ set -euo pipefail source /sources/toolchain-scripts/100-chroot-env.sh PACKAGE="eudev" VERSION="3.2.14" echo "=== Building ${PACKAGE}-${VERSION} ===" cd /sources tar -xf "${PACKAGE}-${VERSION}.tar.gz" cd "${PACKAGE}-${VERSION}" # eudev can be built standalone without systemd ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --with-rootprefix=/ \ --enable-manpages \ --disable-static make # Optional: run tests # make check || true make install # Create the udev rules directory (may not be created by default) mkdir -pv /etc/udev/rules.d # Create udev control socket directory mkdir -pv /run/udev # Set permissions on the udev socket chmod -v 755 /run/udev cd /sources rm -rf "${PACKAGE}-${VERSION}" echo "=== ${PACKAGE}-${VERSION} complete ==="