feat: Implement complete Zero OS Alpine Initramfs Builder

- Complete bash framework with strict error handling
- Modular library system (docker, alpine, components, initramfs, kernel, testing)
- Rust component integration (zinit, rfs, mycelium) with musl targeting
- Rootless Docker/Podman support for GitHub Actions
- Centralized configuration in config/build.conf
- 2-stage module loading system
- Strip + UPX optimization for minimal size
- Complete zinit integration replacing OpenRC
- GitHub Actions CI/CD pipeline
- Comprehensive documentation and usage guides

Components:
- Latest stable kernel 6.12.44
- Alpine Linux 3.22 base
- ThreeFold components: zinit, mycelium, rfs, corex
- Target: ~8-12MB final initramfs.cpio.xz
This commit is contained in:
2025-08-31 12:31:49 +02:00
commit 860b9aa161
81 changed files with 30118 additions and 0 deletions

52
config/modules.conf Normal file
View File

@@ -0,0 +1,52 @@
# 2-stage module loading specification for Zero-OS Alpine initramfs
# Based on existing configs/modules-essential.list
# Format: STAGE:MODULE_NAME:FIRMWARE_FILES (optional)
# Stage 1: Critical boot modules (loaded early for basic functionality)
stage1:virtio_net
stage1:virtio_scsi
stage1:virtio_blk
stage1:virtio_pci
stage1:e1000
stage1:e1000e
stage1:scsi_mod
stage1:sd_mod
stage1:ahci
stage1:nvme
# Stage 2: Extended hardware support (loaded after initial boot)
stage2:igb
stage2:ixgbe
stage2:i40e
stage2:ice
stage2:r8169
stage2:8139too
stage2:8139cp
stage2:bnx2
stage2:bnx2x
stage2:tg3
stage2:b44
stage2:atl1
stage2:atl1e
stage2:atl1c
stage2:alx
# Tunnel and container support
stage2:tun
stage2:overlay
# Control Groups (cgroups) - essential for container management
stage2:cgroup_pids
stage2:cgroup_freezer
stage2:cgroup_perf_event
stage2:cgroup_device
stage2:cgroup_cpuset
stage2:cgroup_bpf
stage2:memcg
stage2:blkio_cgroup
stage2:cpu_cgroup
stage2:cpuacct
stage2:hugetlb_cgroup
stage2:net_cls_cgroup
stage2:net_prio_cgroup
stage2:devices_cgroup