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
initramfs: switch to passwd -d -R in scripts/lib/initramfs.sh:initramfs_finalize_customization() for shadow-aware passwordless root (aligned with 9423b708 intent), drop sed and chpasswd paths, and add validation diagnostics. common: normalize INSTALL_DIR/COMPONENTS_DIR/KERNEL_DIR/DIST_DIR to absolute paths after sourcing config to prevent validation resolving under kernel/current. Dockerfile: include shadow (for passwd/chpasswd), ensure openssl and openssl-dev present; remove perl. config: introduce ZEROOS_PASSWORDLESS_ROOT default true and comment password vars. docs: NOTES.md updated with diagnostics and flow.
- 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
- Remove --no-container option (never build on real host)
- Simplify build.sh to always use containers
- Fix Dockerfile user permissions
- Update help text and argument parsing
- Pass arguments correctly to container builds
- 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