- Added chroot + depmod -a step in setup-initramfs.sh before cpio creation
- Generates module dependencies within the actual initramfs environment
- Includes bind mounting of /proc, /sys, /dev for proper chroot operation
- Ensures TUN module and all network modules have correct dependencies
- Complements existing build-time depmod in install-firmware-minimal.sh
- Added tun.ko module installation to scripts/install-firmware-minimal.sh
- Essential for Mycelium's tunnel networking functionality
- Module will be installed alongside other network drivers during build
- Added depmod.yaml service for rebuilding kernel module dependencies
- Added network.yaml service for DHCP network configuration with proper dependencies
- Cleaned up udev.sh to remove depmod call (now handled by dedicated service)
- Updated udev-trigger.yaml to depend on depmod for proper module loading order
- Ensures overlay.ko and other kernel modules have correct dependencies before hardware detection
- Added overlay.ko module installation for container support in install-firmware-minimal.sh
- Added udevmon service for hardware event monitoring
- Updated udev-trigger dependency to include udevmon
- Added placeholder configurations for mycelium and shm services
- Add net_failover and failover modules for virtio_net dependency resolution
- Copy modules from both drivers/net and net/ kernel directories
- Fixes 'Unknown symbol net_failover_destroy/create' errors when loading virtio_net
- Set execute permissions on all zinit init scripts (*.sh files)
- Include proper kernel module metadata files (modules.order, modules.builtin, modules.builtin.modinfo)
- Expanded module search to include failover-related networking modules
- Now includes 77 network driver modules with complete dependency chain
- Ensures depmod -a works correctly without warnings
- Complete VirtIO network stack functionality with proper script execution
- Update README.md to reflect git subtree + workspace architecture
- Document unified build process with 'cargo build --workspace'
- Add component update instructions using git subtree pull
- Remove references to git submodules and setup-submodules.sh
- Update development workflow with workspace commands
- Document new directory structure with Cargo.toml at root
CRITICAL FIXES:
- Fix build-initramfs.sh early exit preventing zinit installation
- Add binary detection/installation logic to setup-initramfs.sh
- Ensure compiled components are properly installed to initramfs
DOCUMENTATION:
- Update README.md to reflect actual implementation
- Document source compilation approach with git submodules
- Add development workflow and caching documentation
- Remove outdated GitHub releases references
This fixes the 'zinit not found' boot error by ensuring the build
pipeline completes all phases including initramfs assembly.
- Add openssl-libs-static package to both Dockerfiles
- Add pkgconfig for proper SSL library detection
- Fixes mycelium compilation error with missing -lssl and -lcrypto
- Add cargo to PATH in dev-shell service
- Add target-cache volume for Rust build caching
- Use login shell to properly source cargo environment
- Keeps existing build infrastructure and caching strategy
- Add binary detection logic for RFS build to handle different binary names
- Remove non-existent 'vendored-openssl' feature from mycelium build
- Add debugging output to show actual build results