initramfs: anchor relative paths to PROJECT_ROOT in [bash.initramfs_validate()](scripts/lib/initramfs.sh:799) and [bash.initramfs_create_cpio()](scripts/lib/initramfs.sh:688) to avoid CWD drift. Add diagnostics logs. kernel: anchor kernel output path to PROJECT_ROOT in [bash.kernel_build_with_initramfs()](scripts/lib/kernel.sh:174) to ensure dist/vmlinuz.efi is under PROJECT_ROOT/dist. helper: add [scripts/rebuild-after-zinit.sh](scripts/rebuild-after-zinit.sh) to incrementally rebuild after zinit/modules.conf/init changes. Default: initramfs-only (recreates cpio). Flags: --with-kernel, --refresh-container-mods, --run-tests. Uses --rebuild-from=initramfs_create when rebuilding kernel. init: add early debug shell on kernel param initdebug=true; prefer /init-debug when present else spawn /bin/sh -l. See [config/init](config/init:1). modules(stage1): add USB keyboard support (HID + host controllers) in [config/modules.conf](config/modules.conf:1): usbhid, hid_generic, hid, xhci/ehci/ohci/uhci.
58 lines
2.8 KiB
Plaintext
58 lines
2.8 KiB
Plaintext
# Module loading specification for Zero-OS Alpine initramfs
|
|
# Format: STAGE:MODULE_NAME:FIRMWARE_PACKAGE (optional)
|
|
# Focus on most common NIC modules to ensure networking works on most hardware
|
|
|
|
# Stage 1: Core subsystems + networking and essential boot modules
|
|
# All core subsystems and NICs must be loaded BEFORE network can come up
|
|
stage1:virtio:none # Core virtio subsystem (REQUIRED)
|
|
stage1:virtio_ring:none # Virtio ring buffer (REQUIRED)
|
|
stage1:virtio_pci:none # Virtio PCI bus
|
|
stage1:virtio_net:none # Virtio network (VMs, cloud)
|
|
stage1:virtio_scsi:none # Virtio SCSI (VMs, cloud)
|
|
stage1:virtio_blk:none # Virtio block (VMs, cloud)
|
|
stage1:e1000:linux-firmware-intel # Intel E1000 (very common)
|
|
stage1:e1000e:linux-firmware-intel # Intel E1000E (very common)
|
|
stage1:r8169:linux-firmware-realtek # Realtek (most common desktop/server)
|
|
stage1:realtek:linux-firmware-realtek # Realtek (most common desktop/server)
|
|
stage1:igb:linux-firmware-intel # Intel Gigabit (servers)
|
|
stage1:ixgbe:linux-firmware-intel # Intel 10GbE (servers)
|
|
stage1:i40e:linux-firmware-intel # Intel 40GbE (modern servers)
|
|
stage1:ice:linux-firmware-intel # Intel E800 series (latest)
|
|
stage1:8139too:none # Realtek 8139 (legacy)
|
|
stage1:8139cp:none # Realtek 8139C+ (legacy)
|
|
stage1:bnx2:linux-firmware-bnx2 # Broadcom NetXtreme
|
|
stage1:bnx2x:linux-firmware-bnx2 # Broadcom NetXtreme II
|
|
stage1:tg3:none # Broadcom Tigon3
|
|
stage1:b44:none # Broadcom 44xx
|
|
stage1:atl1:none # Atheros L1
|
|
stage1:atl1e:none # Atheros L1E
|
|
stage1:atl1c:none # Atheros L1C
|
|
stage1:alx:none # Atheros Alx
|
|
stage1:libata:none # Core ATA subsystem (REQUIRED)
|
|
stage1:scsi_mod:none # SCSI subsystem
|
|
stage1:sd_mod:none # SCSI disk support
|
|
stage1:ahci:none # SATA AHCI
|
|
stage1:nvme_core:none # Core NVMe subsystem (REQUIRED)
|
|
stage1:nvme:none # NVMe storage
|
|
stage1:tun:none # TUN/TAP for networking
|
|
stage1:overlay:none # OverlayFS for containers
|
|
stage1:fuse:none # OverlayFS for containers
|
|
|
|
# Stage 1: USB keyboard support (host controllers + HID)
|
|
stage1:xhci_pci:none
|
|
stage1:xhci_hcd:none
|
|
stage1:ehci_pci:none
|
|
stage1:ehci_hcd:none
|
|
stage1:ohci_pci:none
|
|
stage1:ohci_hcd:none
|
|
stage1:uhci_hcd:none
|
|
stage1:usbhid:none
|
|
stage1:hid_generic:none
|
|
stage1:hid:none
|
|
stage1:atkbd:none
|
|
stage1:libps2:none
|
|
stage1:i2c_smbus:none
|
|
stage1:serio:none
|
|
stage1:i8042i:none
|
|
|