40 lines
1.2 KiB
Docker
40 lines
1.2 KiB
Docker
FROM ubuntu:noble
|
|
|
|
RUN apt-get update && apt-get -y install \
|
|
debootstrap \
|
|
fdisk \
|
|
file \
|
|
genisoimage \
|
|
git \
|
|
ipxe \
|
|
jq \
|
|
lsof \
|
|
python3 \
|
|
python3-apt \
|
|
qemu-utils \
|
|
rsync \
|
|
schroot \
|
|
squashfs-tools \
|
|
subversion \
|
|
syslinux \
|
|
syslinux-efi \
|
|
syslinux-utils \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN groupadd opengnsys
|
|
RUN mkdir -p /opt/opengnsys/client /tmp/opengnsys/oglive_builder /var/lib/tftpboot/
|
|
RUN ln -fs /var/lib/tftpboot /opt/opengnsys
|
|
|
|
## take stuff from the OG repo: a) cloning engine, b) shared stuff and c) gitrelease
|
|
RUN git --git-dir ./opengnsys/.git rev-parse HEAD && \
|
|
mv ./opengnsys/client/engine ./opengnsys/client/shared /tmp/opengnsys/ && \
|
|
git --git-dir ./opengnsys/.git log --date format:r%Y%m%d --format=%ad -1 >/tmp/opengnsys/oglive_builder/gitrelease
|
|
|
|
## if we place the ogagent.deb and the ogbrowser.deb in the cwd, then this 'COPY .' copies them to the image
|
|
COPY . /tmp/opengnsys/oglive_builder/
|
|
RUN cp /tmp/opengnsys/oglive_builder/schroot.conf /tmp/opengnsys/oglive_builder/mount-defaults /etc/schroot/ && \
|
|
echo '' >/etc/schroot/default/nssdatabases && \
|
|
rm -f /etc/schroot/setup.d/*chrootname
|
|
|
|
ENTRYPOINT ["/tmp/opengnsys/oglive_builder/mkoglive.py"]
|