b7bcc0924d
* Add script and dockerfile to build ironic image using loci image build * Add dockerfile for apache and dnsmasq * Add make files and readme for all images Change-Id: Ia37b4608116b5705512faec1d966b45e413a1760 Signed-off-by: Sreejith Punnapuzha <sreejith.punnapuzha@outlook.com>
50 lines
2.2 KiB
Docker
50 lines
2.2 KiB
Docker
ARG FROM=docker.io/ubuntu:bionic
|
|
FROM ${FROM} AS builder
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
RUN apt-get update && apt-get install -y efibootmgr gcc git make genisoimage xz-utils grub2-common grub-efi-amd64 grub-efi-amd64-bin shim shim-signed dosfstools mtools liblzma-dev
|
|
WORKDIR /tmp
|
|
RUN git clone http://git.ipxe.org/ipxe.git && \
|
|
cd ipxe && \
|
|
git checkout 3fe683ebab29afacf224e6b0921f6329bebcdca7 && \
|
|
cd src && \
|
|
sed -i -e "s/#undef.*NET_PROTO_IPV6/#define NET_PROTO_IPV6/g" config/general.h && \
|
|
make bin/undionly.kpxe bin-x86_64-efi/ipxe.efi bin-x86_64-efi/snponly.efi
|
|
|
|
RUN if [ $(uname -m) = "x86_64" ]; then \
|
|
dd bs=1024 count=3200 if=/dev/zero of=esp.img && \
|
|
mkfs.msdos -F 12 -n 'ESP_IMAGE' ./esp.img && \
|
|
mmd -i esp.img EFI && \
|
|
mmd -i esp.img EFI/BOOT && \
|
|
mkdir -p /boot/efi && \
|
|
grub-mkimage -C xz -O x86_64-efi -p /boot/grub -o /tmp/grubx64.efi boot linux search normal configfile part_gpt btrfs ext2 fat iso9660 loopback test keystatus gfxmenu regexp probe efi_gop efi_uga all_video gfxterm font scsi echo read ls cat png jpeg halt reboot && \
|
|
mcopy -i esp.img -v /tmp/grubx64.efi ::EFI/BOOT && \
|
|
mdir -i esp.img ::EFI/BOOT; \
|
|
else \
|
|
touch /tmp/esp.img; \
|
|
fi
|
|
|
|
FROM ${FROM}
|
|
|
|
LABEL org.opencontainers.image.authors='airship-discuss@lists.airshipit.org, irc://#airshipit@freenode' \
|
|
org.opencontainers.image.url='https://airshipit.org' \
|
|
org.opencontainers.image.documentation='https://airship-images.readthedocs.org' \
|
|
org.opencontainers.image.source='https://opendev.org/airship/images' \
|
|
org.opencontainers.image.vendor='The Airship Authors' \
|
|
org.opencontainers.image.licenses='Apache-2.0'
|
|
|
|
RUN set -xe \
|
|
&& export DEBIAN_FRONTEND=noninteractive \
|
|
&& apt-get update -qq && apt-get -y dist-upgrade \
|
|
&& apt-get install -y dnsmasq \
|
|
&& apt-get autoremove -y --purge \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt-get/lists/*
|
|
|
|
RUN mkdir -p /tftpboot
|
|
COPY --from=builder /tmp/ipxe/src/bin/undionly.kpxe /tftpboot
|
|
COPY --from=builder /tmp/ipxe/src/bin-x86_64-efi/snponly.efi /tftpboot
|
|
COPY --from=builder /tmp/ipxe/src/bin-x86_64-efi/ipxe.efi /tftpboot
|
|
COPY --from=builder /tmp/esp.img /tmp/uefi_esp.img
|
|
|
|
CMD ["/bin/bash"]
|