Summary:
* add openssh-client to the builder image and mount host SSH keys into the dev container when available
* switch RFS to git builds, register the zosstorage source, and document the extra Rust component
* wire zosstorage into the build: add build_zosstorage(), ship the binary in the initramfs, and extend component validation
* refresh kernel configuration to 6.12.49 while dropping Xen guest selections and enabling counted-by support
* tighten runtime configs: use cached mycelium key path, add zosstorage zinit unit, bootstrap ovsdb-server, and enable openvswitch module
* adjust the network health check ping invocation and fix the RFS pack-tree --debug flag order
* update NOTES changelog, README component list, and introduce a runit helper for qemu/cloud-hypervisor testing
* add ovsdb init script wiring under config/zinit/init and ensure zosstorage is available before mycelium
- Remove component copying from build functions (build_zinit, build_rfs, etc)
- Add initramfs_copy_components() function to copy built components to initramfs
- Add components_copy stage between init_script and modules_setup
- Fix components_verify to check built components (not initramfs locations)
- Now supports partial builds: build components separately, copy later
- All 4 components (zinit 8.1M, rfs 13M, mycelium 21M, corex 4.0M) working
- Fix container output visibility with proper TTY handling and debug mode
- Fix build order: kernel modules built before initramfs creation
- Implement two-stage kernel build to resolve chicken-and-egg dependency
- Fix sed command issues in kernel configuration with direct execution
- Add diffutils package to container for proper kernel build support
- Enhance NIC module/firmware correlation with intelligent selection
- Fix module staging logic: all NICs loaded in stage1 before network up
- Add smart firmware installation based on module requirements
- Create comprehensive function documentation (scripts/functionlist.md)
- Add debug container script for troubleshooting
Major fixes:
* Container builds now show real-time output
* Kernel builds work with proper GNU diff support
* Module/firmware selection optimized for common hardware
* Build process handles dependencies correctly
* Documentation provides complete function reference
- Fix build_zinit to cd to correct component directory
- Add proper working directory logging
- Fix branch names for ThreeFold components
- Prepare for successful Rust compilation
- Change from colon to space separation to avoid URL parsing issues
- Update sources.conf format: TYPE NAME URL VERSION BUILD_FUNCTION [EXTRA]
- Implement awk-based parsing for reliable field extraction
- Fix firmware package list (remove unavailable linux-firmware-marvell)
- Remove rustup dependency from Dockerfile (not available in Alpine)
- Update Rust environment setup to handle both rustup and system Rust
- Fix musl-gcc linker configuration for Alpine containers
- Support both GitHub Actions (rustup) and Alpine container (system) environments