Files
zosbuilder/Dockerfile
Jan De Landtsheer 334821dacf
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
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
2025-10-14 17:47:13 +02:00

58 lines
1.1 KiB
Docker

# Zero OS Alpine Initramfs Builder Container
FROM alpine:3.22
# Install build dependencies including rustup
RUN apk add --no-cache \
build-base \
rustup \
upx \
git \
openssh-client \
wget \
curl \
tar \
gzip \
xz \
cpio \
binutils \
linux-headers \
musl-dev \
musl-utils \
pkgconfig \
openssl openssl-dev \
perl \
shadow \
bash \
findutils \
grep \
sed \
coreutils \
diffutils \
flex \
bison \
bc \
elfutils-dev \
ncurses-dev \
kmod \
sqlite \
minio-client \
pahole
# Setup rustup with stable and musl target
RUN rustup-init -y && \
source /root/.cargo/env && \
rustup install stable && \
rustup target add x86_64-unknown-linux-musl && \
echo 'source /root/.cargo/env' >> /etc/profile
# Create non-root user for builds matching host user
RUN adduser -D -s /bin/bash builder
# Set working directory with proper permissions
WORKDIR /workspace
RUN chown builder:builder /workspace
# Set environment variables - rustup handles everything
ENV PATH="/root/.cargo/bin:${PATH}"
CMD ["/bin/bash"]