41 lines
1.5 KiB
Docker
41 lines
1.5 KiB
Docker
|
FROM alpine:3.20.3
|
||
|
|
||
|
LABEL maintainer "ferrari.marco@gmail.com"
|
||
|
|
||
|
# Install the necessary packages
|
||
|
RUN apk add --no-cache \
|
||
|
dnsmasq \
|
||
|
wget
|
||
|
|
||
|
ENV MEMTEST_VERSION 5.31b
|
||
|
ENV SYSLINUX_VERSION 6.03
|
||
|
ENV TEMP_SYSLINUX_PATH /tmp/syslinux-"$SYSLINUX_VERSION"
|
||
|
|
||
|
WORKDIR /tmp
|
||
|
RUN \
|
||
|
mkdir -p "$TEMP_SYSLINUX_PATH" \
|
||
|
&& wget -q https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-"$SYSLINUX_VERSION".tar.gz \
|
||
|
&& tar -xzf syslinux-"$SYSLINUX_VERSION".tar.gz \
|
||
|
&& mkdir -p /var/lib/tftpboot \
|
||
|
&& cp "$TEMP_SYSLINUX_PATH"/bios/core/pxelinux.0 /var/lib/tftpboot/ \
|
||
|
&& cp "$TEMP_SYSLINUX_PATH"/bios/com32/libutil/libutil.c32 /var/lib/tftpboot/ \
|
||
|
&& cp "$TEMP_SYSLINUX_PATH"/bios/com32/elflink/ldlinux/ldlinux.c32 /var/lib/tftpboot/ \
|
||
|
&& cp "$TEMP_SYSLINUX_PATH"/bios/com32/menu/menu.c32 /var/lib/tftpboot/ \
|
||
|
&& rm -rf "$TEMP_SYSLINUX_PATH" \
|
||
|
&& rm /tmp/syslinux-"$SYSLINUX_VERSION".tar.gz \
|
||
|
&& wget -q http://www.memtest.org/download/archives/"$MEMTEST_VERSION"/memtest86+-"$MEMTEST_VERSION".bin.gz \
|
||
|
&& gzip -d memtest86+-"$MEMTEST_VERSION".bin.gz \
|
||
|
&& mkdir -p /var/lib/tftpboot/memtest \
|
||
|
&& mv memtest86+-$MEMTEST_VERSION.bin /var/lib/tftpboot/memtest/memtest86+
|
||
|
|
||
|
# Configure PXE and TFTP
|
||
|
COPY pxelinux/ /var/lib/tftpboot
|
||
|
|
||
|
# Configure DNSMASQ
|
||
|
COPY etc/ /etc
|
||
|
|
||
|
# Start dnsmasq. It picks up default configuration from /etc/dnsmasq.conf and
|
||
|
# /etc/default/dnsmasq plus any command line switch
|
||
|
ENTRYPOINT ["dnsmasq", "--no-daemon"]
|
||
|
#CMD ["--dhcp-range=192.169.22.1,proxy"]
|