# Kernel Modules for Alpine Zero-OS Initramfs Essential kernel modules to embed in initramfs for hardware detection and basic functionality. ## 🔧 Storage Controllers (Built-in to Initramfs) ### SATA/AHCI Controllers ``` # Standard SATA/AHCI support ahci libahci sata_via sata_sis sata_uli sata_promise sata_qstor sata_vsc sata_svw sata_nv sata_mv ata_piix ata_generic pata_acpi ``` ### NVMe Storage ``` # NVMe SSD support nvme nvme-core nvme-fabrics nvme-fc nvme-rdma nvme-tcp ``` ### SCSI Support ``` # SCSI layer scsi_mod sd_mod sr_mod sg scsi_transport_sas scsi_transport_spi scsi_transport_fc ``` ### Virtual Storage (Cloud/VM) ``` # Virtualization storage virtio_blk virtio_scsi vmw_balloon vmw_vmci vmware_balloon xen-blkfront ``` ### USB Storage ``` # USB mass storage usb-storage uas usb_common usbcore ehci-hcd ohci-hcd uhci-hcd xhci-hcd ``` ## 🌐 Network Controllers (Built-in to Initramfs) ### Intel Ethernet ``` # Intel network adapters e1000 e1000e igb igbvf ixgbe ixgbevf i40e i40evf ice iavf ``` ### Realtek Ethernet ``` # Realtek adapters r8169 8139too 8139cp ``` ### Broadcom Ethernet ``` # Broadcom adapters tg3 bnx2 bnx2x ``` ### AMD/ATI Ethernet ``` # AMD network adapters pcnet32 ``` ### Virtual Network (Cloud/VM) ``` # Virtualization networking virtio_net vmxnet3 xen-netfront ``` ### Standard Network Support ``` # Core networking netconsole ``` ## 💾 Filesystem Support (Built-in) ### Essential Filesystems ``` # Core filesystems for Zero-OS ext4 btrfs xfs vfat ntfs fuse overlay tmpfs proc sysfs devtmpfs ``` ### Special Filesystems ``` # Container/special use unionfs aufs squashfs ``` ## 🔌 Hardware Detection & Management ### PCI/Hardware Detection ``` # Hardware enumeration pci_hotplug acpiphp pciehp shpchp ``` ### Device Management ``` # Device handling usbhid hid-generic i2c-core ``` ## ⚙️ Kernel Configuration For Alpine kernel build, these modules should be: ### Built-in (=y) - Core filesystem support (ext4, btrfs, tmpfs, proc, sysfs) - Basic PCI/ACPI support - Essential SATA (ahci, ata_piix) - Basic virtio support for cloud environments ### Modules (=m) - Included in Initramfs - Extended storage controllers - Network adapters - USB support - Advanced filesystem support ### Example Kernel Config Additions ```bash # Storage - built-in CONFIG_ATA=y CONFIG_SATA_AHCI=y CONFIG_ATA_PIIX=y CONFIG_NVME_CORE=y CONFIG_NVME=y # Storage - modules (in initramfs) CONFIG_SATA_VIA=m CONFIG_SATA_SIS=m CONFIG_SATA_PROMISE=m # ... (rest as modules) # Network - built-in CONFIG_NETDEVICES=y CONFIG_ETHERNET=y # Network - modules (in initramfs) CONFIG_E1000=m CONFIG_E1000E=m CONFIG_IGB=m CONFIG_IXGBE=m CONFIG_R8169=m CONFIG_TG3=m # ... (rest as modules) # Filesystems - built-in CONFIG_EXT4_FS=y CONFIG_BTRFS_FS=y CONFIG_TMPFS=y CONFIG_PROC_FS=y CONFIG_SYSFS=y # Filesystems - modules (in initramfs) CONFIG_XFS_FS=m CONFIG_VFAT_FS=m CONFIG_NTFS_FS=m CONFIG_FUSE_FS=m CONFIG_OVERLAY_FS=m ``` ## 📡 Remote Module Loading Strategy Modules **NOT** included in initramfs (loaded via RFS): - Wireless drivers (wifi, bluetooth) - Specialized storage controllers (rare/legacy hardware) - Graphics drivers - Audio drivers - Specialized network adapters (10GbE, InfiniBand, etc.) - Hardware-specific drivers (sensors, etc.) These will be: 1. Stored in remote RFS repositories 2. Downloaded on-demand based on hardware detection 3. Loaded dynamically after basic system initialization ## 🔧 Module Loading Order 1. **Phase 1 (Early Init)**: Built-in modules for basic hardware 2. **Phase 2 (Hardware Detection)**: Load initramfs modules based on detected hardware 3. **Phase 3 (Remote Loading)**: Fetch additional modules via RFS as needed This approach ensures: - ✅ Fast boot with essential hardware support - ✅ Minimal initramfs size - ✅ Support for wide hardware variety via remote loading - ✅ Always up-to-date drivers via RFS