46 lines
1.3 KiB
Docker
46 lines
1.3 KiB
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-x86_64-pcbios/ipxe.iso \
|
|
bin-x86_64-pcbios/ipxe.usb \
|
|
bin-x86_64-pcbios/undionly.kpxe \
|
|
bin-x86_64-efi/axge--ecm--ncm.iso \
|
|
bin-x86_64-efi/axge--ecm--ncm.usb \
|
|
bin-x86_64-efi/ipxe.efi \
|
|
EMBEDDED_IMAGE=/build/embed.ipxe ; \
|
|
mv bin-x86_64-efi/axge--ecm--ncm.iso bin-x86_64-efi/ipxe.iso ; \
|
|
mv bin-x86_64-efi/axge--ecm--ncm.usb bin-x86_64-efi/ipxe.usb ; \
|
|
} 1>&2 ; \
|
|
tar cf - bin-x86_64-pcbios/ipxe.iso \
|
|
bin-x86_64-pcbios/ipxe.usb \
|
|
bin-x86_64-pcbios/undionly.kpxe \
|
|
bin-x86_64-efi/ipxe.efi \
|
|
bin-x86_64-efi/ipxe.iso \
|
|
bin-x86_64-efi/ipxe.usb
|