X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=fdio.infra.pxe%2Fdocker-dnsmasq%2FDockerfile;fp=fdio.infra.pxe%2Fdocker-dnsmasq%2FDockerfile;h=729e3c52d8cf9413fabd1d29115d75478de29c1b;hp=0000000000000000000000000000000000000000;hb=d653bff621c44d0af1f4dcb786e9830362cdac38;hpb=df5672b3d9c29b51397f4770eb992c9f3f3955ce diff --git a/fdio.infra.pxe/docker-dnsmasq/Dockerfile b/fdio.infra.pxe/docker-dnsmasq/Dockerfile new file mode 100644 index 0000000000..729e3c52d8 --- /dev/null +++ b/fdio.infra.pxe/docker-dnsmasq/Dockerfile @@ -0,0 +1,49 @@ +FROM ubuntu:20.04 as ubuntu_focal + +LABEL Description="ubuntu intermediate image" +LABEL Version="2.0" + +RUN apt update \ + && apt install -y wget genisoimage syslinux-common \ + && mkdir -p /var/lib/tftpboot/grub \ + && mkdir -p /var/lib/tftpboot/casper/ubuntu-focal-amd64/ \ + && mkdir -p /var/lib/tftpboot/casper/ubuntu-focal-arm64/ + +ENV ISO_FOCAL_AMD64 https://releases.ubuntu.com/20.04.2/ubuntu-20.04.2-live-server-amd64.iso +ENV ISO_FOCAL_ARM64 https://cdimage.ubuntu.com/releases/20.04/release/ubuntu-20.04.2-live-server-arm64.iso +ENV EFI_FOCAL_AMD64 http://archive.ubuntu.com/ubuntu/dists/focal/main/uefi/grub2-amd64/current/grubnetx64.efi.signed +ENV EFI_FOCAL_ARM64 http://ports.ubuntu.com/ubuntu-ports/dists/focal/main/uefi/grub2-arm64/current/grubnetaa64.efi.signed + +RUN echo "Preparing Grub EFI Binary" \ + && wget $EFI_FOCAL_AMD64 -O /var/lib/tftpboot/grub/grubnetx64.efi.signed \ + && wget $EFI_FOCAL_ARM64 -O /var/lib/tftpboot/grub/grubnetaa64.efi.signed + +RUN echo "Preparing Casper Kernel" \ + && wget $ISO_FOCAL_AMD64 -O /ubuntu-20.04.2-live-server-amd64.iso \ + && isoinfo -i /ubuntu-20.04.2-live-server-amd64.iso -x "/CASPER/INITRD.;1" > /var/lib/tftpboot/casper/ubuntu-focal-amd64/initrd \ + && isoinfo -i /ubuntu-20.04.2-live-server-amd64.iso -x "/CASPER/VMLINUZ.;1" > /var/lib/tftpboot/casper/ubuntu-focal-amd64/vmlinuz\ + && wget $ISO_FOCAL_ARM64 -O /ubuntu-20.04.2-live-server-arm64.iso \ + && isoinfo -i /ubuntu-20.04.2-live-server-arm64.iso -x "/CASPER/INITRD.;1" > /var/lib/tftpboot/casper/ubuntu-focal-arm64/initrd \ + && isoinfo -i /ubuntu-20.04.2-live-server-arm64.iso -x "/CASPER/VMLINUZ.;1" > /var/lib/tftpboot/casper/ubuntu-focal-arm64/vmlinuz + + +FROM alpine + +LABEL Description="dnsmasq service image" +LABEL Version="2.0" + +RUN apk add --update --no-cache dnsmasq \ + && rm -rf /var/cache/apk/* + +# Extract installer from previous image. +COPY --from=ubuntu_focal /var/lib/tftpboot /var/lib/tftpboot + +# Configure PXE. +COPY tftpboot/ /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 ["sh","-c","dnsmasq","--interface=$E_INT","--listen-address=$E_ADD"] \ No newline at end of file