diff --git a/Dockerfile b/Dockerfile index 0bb0abb..3906bb4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,17 +3,27 @@ FROM debian:buster RUN apt update RUN apt install -y make debootstrap supervisor isc-dhcp-server tftpd-hpa busybox squashfs-tools -# Builds Linux for cloning image. The Makefile in linux/ would download base -# debian system to linux/build/cache itself, but to speed up rebuilding this -# Docker container the download is run separately to avoid repeating it in -# future builds. +# Downloads base Debian 10 to /linux/build/cache. The Makefile in linux/ would +# download base debian system to linux/build/cache itself, but to speed up +# rebuilding this Docker container the download is run separately to avoid +# repeating it in future builds. ADD linux /linux RUN mkdir -p linux/build && debootstrap buster linux/build/cache + +# Copies src/tftpboot directory to /tftpboot +ADD src/tftpboot /tftpboot + +# Downloads Syslinux and moves ldlinux.c32 and pxelinux.0 files to /tftpboot +RUN wget https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.gz && \ + tar -xzvf syslinux-6.03.tar.gz && \ + cp syslinux-6.03/bios/core/pxelinux.0 /tftpboot/pxelinux.0 && \ + cp syslinux-6.03/bios/com32/elflink/ldlinux/ldlinux.c32 /tftpboot/ldlinux.c32 + +# Builds Linux with its Makefile RUN cd /linux && make # Creates and populates /tftpboot directory. Files stored there will be served # by TFTP and HTTP (on port 8014). -ADD src/tftpboot /tftpboot RUN cp /linux/build/rootfs/initrd.img /tftpboot/initrd.img && \ cp /linux/build/rootfs/vmlinuz /tftpboot/vmlinuz && \ mksquashfs /linux/build/rootfs /tftpboot/root.squashfs diff --git a/src/tftpboot/ldlinux.c32 b/src/tftpboot/ldlinux.c32 deleted file mode 100755 index 0d8f2ef..0000000 Binary files a/src/tftpboot/ldlinux.c32 and /dev/null differ diff --git a/src/tftpboot/pxelinux.0 b/src/tftpboot/pxelinux.0 deleted file mode 100644 index 61a3888..0000000 Binary files a/src/tftpboot/pxelinux.0 and /dev/null differ