FROM rockylinux:9 RUN set -eux ; \ dnf upgrade -y ; \ dnf -y install --nodocs --setopt=install_weak_deps=False \ gcc \ genisoimage \ git \ make \ patch \ syslinux \ xz-devel \ ; \ dnf -y clean all ; \ rm -rf /var/cache/dnf RUN set -eux ; \ useradd -c "iPXE Builder" -d /build -m build WORKDIR /build USER build COPY --chmod=0644 config.patch embed.ipxe . CMD set -eux ; \ { \ git clone https://github.com/ipxe/ipxe.git ; \ cd ipxe/src ; \ patch -p0 < /build/config.patch ; \ make \ bin/ipxe.iso bin/ipxe.usb bin/undionly.kpxe \ bin-x86_64-efi/ipxe.iso bin-x86_64-efi/ipxe.usb \ EMBEDDED_IMAGE=/build/embed.ipxe ; \ } 1>&2 ; \ tar cf - bin/ipxe.iso bin/ipxe.usb bin/undionly.kpxe \ bin-x86_64-efi/ipxe.iso bin-x86_64-efi/ipxe.usb