feat: Add firmware installation and module dependency resolution

- Add Alpine firmware package installation support
- Implement recursive module dependency resolution using modinfo
- Add config/firmware.conf for NIC firmware selection
- Enhanced initramfs_setup_modules with dependency tracking
- Firmware installation integrated into main build process

Features:
- Automatic dependency resolution for kernel modules
- Alpine's separate firmware APK packages for optimal size
- Stage1/Stage2 module loading with complete dependencies
- No duplicate modules between stages
This commit is contained in:
2025-08-31 12:43:10 +02:00
parent 860b9aa161
commit 041ad29a70
4 changed files with 283 additions and 15 deletions

23
config/firmware.conf Normal file
View File

@@ -0,0 +1,23 @@
# Firmware configuration for Zero OS Alpine Initramfs
# Alpine Linux provides separate firmware packages for hardware support
# Format: FIRMWARE_PACKAGE:DESCRIPTION
# Essential network firmware packages
linux-firmware-bnx2:Broadcom NetXtreme firmware
linux-firmware-e100:Intel PRO/100 firmware
linux-firmware-intel:Intel network and WiFi firmware (includes e1000e, igb, ixgbe, i40e, ice)
linux-firmware-realtek:Realtek network firmware (r8169, etc.)
linux-firmware-mellanox:Mellanox network firmware
linux-firmware-qlogic:QLogic network firmware
# Storage firmware (if needed)
linux-firmware-marvell:Marvell storage/network firmware
# Optional firmware packages (uncomment if needed)
#linux-firmware-amd:AMD GPU and network firmware
#linux-firmware-nvidia:NVIDIA GPU firmware
#linux-firmware-atheros:Atheros wireless firmware
#linux-firmware-broadcom:Broadcom wireless firmware
# Minimal firmware selection for embedded/container environments
# For full hardware support, uncomment additional packages above