Integrate zosstorage build path and runtime orchestration
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:
@@ -9,6 +9,7 @@ PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
||||
# Container configuration
|
||||
CONTAINER_NAME="zero-os-dev"
|
||||
BUILDER_IMAGE="zero-os-builder:latest"
|
||||
HOST_SSH_DIR="${SSH_MOUNT_DIR:-${HOME}/.ssh}"
|
||||
|
||||
# Default to verbose, streaming logs for dev flows unless explicitly disabled
|
||||
export DEBUG="${DEBUG:-1}"
|
||||
@@ -88,18 +89,32 @@ function dev_container_start() {
|
||||
log_info "Creating new development container: ${CONTAINER_NAME}"
|
||||
|
||||
# Create persistent container with all necessary mounts and environment
|
||||
safe_execute podman run -d \
|
||||
--name "$CONTAINER_NAME" \
|
||||
--privileged \
|
||||
-v "${PROJECT_ROOT}:/workspace" \
|
||||
-w /workspace \
|
||||
-e DEBUG=1 \
|
||||
-e ALPINE_VERSION=3.22 \
|
||||
-e KERNEL_VERSION=6.12.44 \
|
||||
-e RUST_TARGET=x86_64-unknown-linux-musl \
|
||||
-e OPTIMIZATION_LEVEL=max \
|
||||
"$BUILDER_IMAGE" \
|
||||
local podman_args=(
|
||||
run -d
|
||||
--name "$CONTAINER_NAME"
|
||||
--privileged
|
||||
-v "${PROJECT_ROOT}:/workspace"
|
||||
-w /workspace
|
||||
-e DEBUG=1
|
||||
-e ALPINE_VERSION=3.22
|
||||
-e KERNEL_VERSION=6.12.44
|
||||
-e RUST_TARGET=x86_64-unknown-linux-musl
|
||||
-e OPTIMIZATION_LEVEL=max
|
||||
)
|
||||
|
||||
if [[ -d "$HOST_SSH_DIR" ]]; then
|
||||
log_info "Mounting SSH directory: ${HOST_SSH_DIR} -> /root/.ssh (read-only)"
|
||||
podman_args+=(-v "${HOST_SSH_DIR}:/root/.ssh:ro")
|
||||
else
|
||||
log_warn "SSH directory not found at ${HOST_SSH_DIR}; skipping SSH mount"
|
||||
fi
|
||||
|
||||
podman_args+=(
|
||||
"$BUILDER_IMAGE"
|
||||
sleep infinity
|
||||
)
|
||||
|
||||
safe_execute podman "${podman_args[@]}"
|
||||
|
||||
log_info "Development container started successfully"
|
||||
log_info "Container name: ${CONTAINER_NAME}"
|
||||
|
||||
Reference in New Issue
Block a user