diff --git a/configs/zinit/init/ashloging.sh b/configs/zinit/init/ashloging.sh old mode 100644 new mode 100755 diff --git a/configs/zinit/init/cgroup.sh b/configs/zinit/init/cgroup.sh old mode 100644 new mode 100755 diff --git a/configs/zinit/init/modprobe.sh b/configs/zinit/init/modprobe.sh old mode 100644 new mode 100755 diff --git a/configs/zinit/init/ntpd.sh b/configs/zinit/init/ntpd.sh old mode 100644 new mode 100755 diff --git a/configs/zinit/init/routing.sh b/configs/zinit/init/routing.sh old mode 100644 new mode 100755 diff --git a/configs/zinit/init/sshd-setup.sh b/configs/zinit/init/sshd-setup.sh old mode 100644 new mode 100755 diff --git a/configs/zinit/init/udev.sh b/configs/zinit/init/udev.sh old mode 100644 new mode 100755 diff --git a/scripts/setup-initramfs.sh b/scripts/setup-initramfs.sh index c60b45f..7c8a801 100755 --- a/scripts/setup-initramfs.sh +++ b/scripts/setup-initramfs.sh @@ -141,12 +141,21 @@ 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 using a more reliable method - find "$KERNEL_BUILD_DIR" -name "*.ko" | grep -E "(e1000|r8169|bnx2|tg3|virtio|igb|ixgbe|i40e|ice|atl1|alx|8139|b44|mii|mdio|libphy)" | while read ko; do + # 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)" | 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/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 @@ -154,10 +163,38 @@ if [ -d "$KERNEL_BUILD_DIR" ]; then actual_modules=$(find "$MODULES_DIR" -name "*.ko" 2>/dev/null | wc -l) echo " Installed $actual_modules network driver modules" - # Create basic module dependency files + # Copy essential kernel module metadata files from kernel build + 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 + + if [ -f "$KERNEL_BUILD_DIR/modules.builtin" ]; 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 + + if [ -f "$KERNEL_BUILD_DIR/modules.builtin.modinfo" ]; 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