boot.foo.sh/Dockerfile

36 lines
911 B
Docker

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 -p2 < /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