Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions images/aarch64/fedora/6.19/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
FROM fedora:44

ARG VERSION=6.19.7-300
ARG HDR_VERSION=6.19.6-300
ARG ARCHITECTURE=aarch64
# Ensure we use the correct variable name consistently
ARG URL='https://archives.fedoraproject.org/pub/fedora/linux/development/44/Everything/aarch64/os/Packages'
ARG CMAKE_VERSION

# Use bash for all RUN steps with some safety options enabled.
SHELL ["/bin/bash", "-euo", "pipefail", "-c"]

RUN dnf install --disablerepo=updates-testing -y @development-tools \
clang \
iproute \
libcap-devel \
llvm \
openssh-server \
rsync \
systemd && \
curl -Lo devel.rpm "${URL}/k/kernel-devel-${VERSION}.fc44.${ARCHITECTURE}.rpm" && \
curl -Lo headers.rpm "${URL}/k/kernel-headers-${HDR_VERSION}.fc44.${ARCHITECTURE}.rpm" && \
dnf install -y ./*.rpm && \
rm -v ./*.rpm && \
dnf clean all && \
rm -rf /var/cache/yum
RUN mkdir -p /lib/modules/${VERSION}.fc44.${ARCHITECTURE} && \
ln -s /usr/src/kernels/${VERSION}.fc44.${ARCHITECTURE}/ /lib/modules/${VERSION}.fc44.${ARCHITECTURE}/build
RUN CMAKE_ARCH="aarch64" && \
CMAKE_RELEASE_NAME="cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}" && \
curl -L "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_RELEASE_NAME}.tar.gz" | \
tar -C /usr --strip-components 1 "${CMAKE_RELEASE_NAME}/bin" "${CMAKE_RELEASE_NAME}/share" -xzpvf -
RUN sed -i -e 's/^AcceptEnv LANG LC_\*$/#AcceptEnv LANG LC_*/' /etc/ssh/sshd_config && \
echo 'UseDNS no' >> /etc/ssh/sshd_config && \
echo "root:root" | chpasswd
65 changes: 65 additions & 0 deletions images/aarch64/fedora/6.19/Dockerfile.kernel
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
ARG VERSION=6.19.7-300
ARG HVERSION=6.19.6-300
ARG ARCHITECTURE=aarch64
ARG URL='https://archives.fedoraproject.org/pub/fedora/linux/development/44/Everything/aarch64/os/Packages/k/'

FROM initrd-builder:0.0.1 AS stage1

ARG VERSION
ARG HVERSION
ARG ARCHITECTURE
ARG URL

WORKDIR /home/ubuntu

RUN touch .placeholder && \
curl -Lo kernel.rpm ${URL}kernel-core-${VERSION}.fc44.${ARCHITECTURE}.rpm && \
curl -Lo headers.rpm ${URL}kernel-headers-${HVERSION}.fc44.${ARCHITECTURE}.rpm && \
curl -Lo modules.rpm ${URL}kernel-modules-${VERSION}.fc44.${ARCHITECTURE}.rpm && \
curl -Lo sources.rpm ${URL}kernel-devel-${VERSION}.fc44.${ARCHITECTURE}.rpm && \
curl -Lo modules-core.rpm ${URL}kernel-modules-core-${VERSION}.fc44.${ARCHITECTURE}.rpm && \
rpm2cpio kernel.rpm > kernel.cpio && \
rpm2cpio headers.rpm > headers.cpio && \
rpm2cpio modules.rpm > modules.cpio && \
rpm2cpio sources.rpm > sources.cpio && \
rpm2cpio modules-core.rpm > modules-core.cpio && \
mkdir extracted && \
cd extracted && \
cpio -idmv < ../kernel.cpio && \
cpio -idmv < ../headers.cpio && \
cpio -idmv < ../modules.cpio && \
cpio -idmv < ../sources.cpio && \
cpio -idmv < ../modules-core.cpio
RUN cd /home/ubuntu/extracted && \
find . -name '*.xz' -exec xz -d {} \; && \
extract-vmlinux $(find lib/modules -name vmlinuz) > /home/ubuntu/extracted/vmlinux

FROM fedora:44 AS kmod-builder

ARG VERSION
ARG HVERSION
ARG URL
ARG ARCHITECTURE

WORKDIR /home/ubuntu
COPY --from=stage1 /home/ubuntu/extracted /home/ubuntu/extracted/
COPY --from=stage1 /opt/initrd-builder/* /opt/initrd-builder/


RUN dnf install --disablerepo=updates-testing -y @development-tools && \
cp -v /opt/initrd-builder/Makefile.virtio_mmio Makefile && \
curl -LO 'https://gitlab.com/cki-project/kernel-ark/-/raw/fedora-6.19/drivers/virtio/virtio_mmio.c' && \
KERNEL_DIR="/home/ubuntu/extracted/usr/src/kernels/${VERSION}.fc44.${ARCHITECTURE}/" make


FROM initrd-builder:0.0.1 AS stage2
COPY --from=stage1 /home/ubuntu/extracted /home/ubuntu/extracted/
COPY --from=kmod-builder /home/ubuntu/virtio_mmio.ko /home/ubuntu/
RUN cd /home/ubuntu/extracted && \
/opt/initrd-builder/create.sh

FROM scratch

COPY --from=stage1 /home/ubuntu/.placeholder /lib/modules/
COPY --from=stage1 /home/ubuntu/extracted/vmlinux /boot/
COPY --from=stage2 /home/ubuntu/out/initrd /boot/
35 changes: 35 additions & 0 deletions images/x86_64/fedora/6.19/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
FROM fedora:44

ARG VERSION=6.19.7-300
ARG HDR_VERSION=6.19.6-300
ARG ARCHITECTURE=x86_64
# Ensure we use the correct variable name consistently
ARG URL='https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/38/Everything/x86_64/os/Packages'
ARG CMAKE_VERSION

# Use bash for all RUN steps with some safety options enabled.
SHELL ["/bin/bash", "-euo", "pipefail", "-c"]

RUN dnf install --disablerepo=updates-testing -y @development-tools \
clang \
iproute \
libcap-devel \
llvm \
openssh-server \
rsync \
systemd && \
curl -Lo devel.rpm "${URL}/k/kernel-devel-${VERSION}.fc44.${ARCHITECTURE}.rpm" && \
curl -Lo headers.rpm "${URL}/k/kernel-headers-${HDR_VERSION}.fc44.${ARCHITECTURE}.rpm" && \
dnf install -y ./*.rpm && \
rm -v ./*.rpm && \
dnf clean all && \
rm -rf /var/cache/yum
RUN mkdir -p /lib/modules/${VERSION}.fc44.${ARCHITECTURE} && \
ln -s /usr/src/kernels/${VERSION}.fc44.${ARCHITECTURE}/ /lib/modules/${VERSION}.fc44.${ARCHITECTURE}/build
RUN CMAKE_ARCH="x86_64" && \
CMAKE_RELEASE_NAME="cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}" && \
curl -L "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_RELEASE_NAME}.tar.gz" | \
tar -C /usr --strip-components 1 "${CMAKE_RELEASE_NAME}/bin" "${CMAKE_RELEASE_NAME}/share" -xzpvf -
RUN sed -i -e 's/^AcceptEnv LANG LC_\*$/#AcceptEnv LANG LC_*/' /etc/ssh/sshd_config && \
echo 'UseDNS no' >> /etc/ssh/sshd_config && \
echo "root:root" | chpasswd
65 changes: 65 additions & 0 deletions images/x86_64/fedora/6.19/Dockerfile.kernel
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
ARG VERSION=6.19.7-300
ARG HVERSION=6.19.6-300
ARG ARCHITECTURE=x86_64
ARG URL='https://archives.fedoraproject.org/pub/fedora/linux/development/44/Everything/aarch64/os/Packages/k/'

FROM initrd-builder:0.0.1 AS stage1

ARG VERSION
ARG HVERSION
ARG ARCHITECTURE
ARG URL

WORKDIR /home/ubuntu

RUN touch .placeholder && \
curl -Lo kernel.rpm ${URL}kernel-core-${VERSION}.fc44.${ARCHITECTURE}.rpm && \
curl -Lo headers.rpm ${URL}kernel-headers-${HVERSION}.fc44.${ARCHITECTURE}.rpm && \
curl -Lo modules.rpm ${URL}kernel-modules-${VERSION}.fc44.${ARCHITECTURE}.rpm && \
curl -Lo sources.rpm ${URL}kernel-devel-${VERSION}.fc44.${ARCHITECTURE}.rpm && \
curl -Lo modules-core.rpm ${URL}kernel-modules-core-${VERSION}.fc44.${ARCHITECTURE}.rpm && \
rpm2cpio kernel.rpm > kernel.cpio && \
rpm2cpio headers.rpm > headers.cpio && \
rpm2cpio modules.rpm > modules.cpio && \
rpm2cpio sources.rpm > sources.cpio && \
rpm2cpio modules-core.rpm > modules-core.cpio && \
mkdir extracted && \
cd extracted && \
cpio -idmv < ../kernel.cpio && \
cpio -idmv < ../headers.cpio && \
cpio -idmv < ../modules.cpio && \
cpio -idmv < ../sources.cpio && \
cpio -idmv < ../modules-core.cpio
RUN cd /home/ubuntu/extracted && \
find . -name '*.xz' -exec xz -d {} \; && \
extract-vmlinux $(find lib/modules -name vmlinuz) > /home/ubuntu/extracted/vmlinux

FROM fedora:44 AS kmod-builder

ARG VERSION
ARG HVERSION
ARG URL
ARG ARCHITECTURE

WORKDIR /home/ubuntu
COPY --from=stage1 /home/ubuntu/extracted /home/ubuntu/extracted/
COPY --from=stage1 /opt/initrd-builder/* /opt/initrd-builder/


RUN dnf install --disablerepo=updates-testing -y @development-tools && \
cp -v /opt/initrd-builder/Makefile.virtio_mmio Makefile && \
curl -LO 'https://gitlab.com/cki-project/kernel-ark/-/raw/fedora-6.19/drivers/virtio/virtio_mmio.c' && \
KERNEL_DIR="/home/ubuntu/extracted/usr/src/kernels/${VERSION}.fc44.${ARCHITECTURE}/" make


FROM initrd-builder:0.0.1 AS stage2
COPY --from=stage1 /home/ubuntu/extracted /home/ubuntu/extracted/
COPY --from=kmod-builder /home/ubuntu/virtio_mmio.ko /home/ubuntu/
RUN cd /home/ubuntu/extracted && \
/opt/initrd-builder/create.sh

FROM scratch

COPY --from=stage1 /home/ubuntu/.placeholder /lib/modules/
COPY --from=stage1 /home/ubuntu/extracted/vmlinux /boot/
COPY --from=stage2 /home/ubuntu/out/initrd /boot/
Loading