Embellishments for module dependencies and initramfs bootup sequence
- add recursive module dependencies based on porper tools (modinfo)
- fix zinit boot sequences
- /dev/shm mount for alpine-built haveged
- mycelium
- rfs copy fixes
- better sequencing overall (god I miss 'before:'
This commit is contained in:
@@ -129,47 +129,20 @@ if [ "$BINARIES_FOUND" = "false" ]; then
|
||||
echo "[DEBUG] Make sure to run compile-components.sh before setup-initramfs.sh"
|
||||
fi
|
||||
|
||||
# Install kernel modules for network interfaces
|
||||
echo " Installing essential network kernel modules..."
|
||||
# Kernel modules are now installed by install-firmware-minimal.sh using automatic dependency resolution
|
||||
echo " Kernel modules installed by firmware installation script with automatic dependency resolution"
|
||||
|
||||
# Copy essential kernel module metadata files from kernel build if they exist
|
||||
KERNEL_VERSION=$(cat /build/configs/kernel-version)
|
||||
MODULES_DIR="$INITRAMFS_ROOT/lib/modules/${KERNEL_VERSION}-Zero-OS"
|
||||
mkdir -p "$MODULES_DIR/kernel/drivers/net/ethernet"
|
||||
mkdir -p "$MODULES_DIR/kernel/drivers/net"
|
||||
mkdir -p "$MODULES_DIR/kernel/drivers"
|
||||
|
||||
KERNEL_BUILD_DIR="/build/kernel/linux-${KERNEL_VERSION}"
|
||||
if [ -d "$KERNEL_BUILD_DIR" ]; then
|
||||
echo " Copying essential ethernet drivers from kernel build..."
|
||||
|
||||
# Copy essential network driver modules and their dependencies
|
||||
find "$KERNEL_BUILD_DIR" -name "*.ko" | grep -E "(e1000|r8169|bnx2|tg3|virtio|igb|ixgbe|i40e|ice|atl1|alx|8139|b44|mii|mdio|libphy|net_failover|failover|tun|ptp|pps|scsi|overlay)" | while read ko; do
|
||||
if [ -f "$ko" ]; then
|
||||
cp "$ko" "$MODULES_DIR/kernel/drivers/net/ethernet/" 2>/dev/null || \
|
||||
cp "$ko" "$MODULES_DIR/kernel/drivers/net/" 2>/dev/null || \
|
||||
cp "$ko" "$MODULES_DIR/kernel/drivers/" 2>/dev/null || \
|
||||
cp "$ko" "$MODULES_DIR/kernel/net/" 2>/dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
# Also copy any net_failover modules from net/ directory
|
||||
find "$KERNEL_BUILD_DIR" -path "*/net/*" -name "*failover*.ko" | while read ko; do
|
||||
if [ -f "$ko" ]; then
|
||||
mkdir -p "$MODULES_DIR/kernel/net/"
|
||||
cp "$ko" "$MODULES_DIR/kernel/net/"
|
||||
fi
|
||||
done
|
||||
|
||||
# Count actual installed modules
|
||||
actual_modules=$(find "$MODULES_DIR" -name "*.ko" 2>/dev/null | wc -l)
|
||||
echo " Installed $actual_modules network driver modules"
|
||||
|
||||
# Copy essential kernel module metadata files from kernel build
|
||||
|
||||
if [ -d "$KERNEL_BUILD_DIR" ] && [ -d "$MODULES_DIR" ]; then
|
||||
echo " Copying kernel module metadata files..."
|
||||
if [ -f "$KERNEL_BUILD_DIR/modules.order" ]; then
|
||||
cp "$KERNEL_BUILD_DIR/modules.order" "$MODULES_DIR/"
|
||||
echo " ✓ modules.order copied"
|
||||
else
|
||||
echo " Warning: modules.order not found in kernel build"
|
||||
touch "$MODULES_DIR/modules.order"
|
||||
fi
|
||||
|
||||
@@ -177,7 +150,6 @@ if [ -d "$KERNEL_BUILD_DIR" ]; then
|
||||
cp "$KERNEL_BUILD_DIR/modules.builtin" "$MODULES_DIR/"
|
||||
echo " ✓ modules.builtin copied"
|
||||
else
|
||||
echo " Warning: modules.builtin not found in kernel build"
|
||||
touch "$MODULES_DIR/modules.builtin"
|
||||
fi
|
||||
|
||||
@@ -185,18 +157,10 @@ if [ -d "$KERNEL_BUILD_DIR" ]; then
|
||||
cp "$KERNEL_BUILD_DIR/modules.builtin.modinfo" "$MODULES_DIR/"
|
||||
echo " ✓ modules.builtin.modinfo copied"
|
||||
else
|
||||
echo " Warning: modules.builtin.modinfo not found in kernel build"
|
||||
touch "$MODULES_DIR/modules.builtin.modinfo"
|
||||
fi
|
||||
|
||||
# Create basic module dependency files (these will be updated by depmod)
|
||||
touch "$MODULES_DIR/modules.dep"
|
||||
touch "$MODULES_DIR/modules.alias"
|
||||
touch "$MODULES_DIR/modules.symbols"
|
||||
|
||||
echo " Module metadata files installed"
|
||||
else
|
||||
echo " Warning: Kernel build directory not found at $KERNEL_BUILD_DIR"
|
||||
fi
|
||||
|
||||
# Copy other system configurations
|
||||
|
||||
Reference in New Issue
Block a user