Integrate zosstorage build path and runtime orchestration
Some checks failed
Build Zero OS Initramfs / build (push) Has been cancelled
Build Zero OS Initramfs / test-matrix (qemu, basic) (push) Has been cancelled
Build Zero OS Initramfs / test-matrix (qemu, serial) (push) Has been cancelled

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
This commit is contained in:
2025-10-14 17:47:13 +02:00
parent cf05e0ca5b
commit 334821dacf
16 changed files with 441 additions and 95 deletions

View File

@@ -186,6 +186,34 @@ function initramfs_copy_components() {
log_error "✗ mycelium binary not found: ${mycelium_binary}"
((missing_count++))
fi
# Copy zosstorage to /usr/bin
local zosstorage_binary="${components_dir}/zosstorage/target/x86_64-unknown-linux-musl/release/zosstorage"
if [[ -f "$zosstorage_binary" ]]; then
safe_mkdir "${initramfs_dir}/usr/bin"
safe_execute cp "$zosstorage_binary" "${initramfs_dir}/usr/bin/zosstorage"
safe_execute chmod +x "${initramfs_dir}/usr/bin/zosstorage"
local original_size=$(get_file_size "${initramfs_dir}/usr/bin/zosstorage")
if strip "${initramfs_dir}/usr/bin/zosstorage" 2>/dev/null || true; then
log_debug "Stripped zosstorage"
else
log_debug "zosstorage already stripped or strip failed"
fi
if command_exists "upx" && upx --best --force "${initramfs_dir}/usr/bin/zosstorage" >/dev/null 2>&1 || true; then
log_debug "UPX compressed zosstorage"
else
log_debug "UPX failed or already compressed"
fi
local final_size=$(get_file_size "${initramfs_dir}/usr/bin/zosstorage")
log_info "✓ Copied zosstorage ${original_size}${final_size} to /usr/bin/zosstorage"
((copied_count++))
else
log_error "✗ zosstorage binary not found: ${zosstorage_binary}"
((missing_count++))
fi
# Copy corex to /usr/bin
local corex_binary="${components_dir}/corex/corex"
@@ -929,6 +957,7 @@ function initramfs_validate() {
local component_binaries=(
"usr/bin/rfs"
"usr/bin/mycelium"
"usr/bin/zosstorage"
"usr/bin/corex"
)