Skip to content

Instantly share code, notes, and snippets.

@olegshtch
Last active February 20, 2023 02:18
Show Gist options
  • Select an option

  • Save olegshtch/525c5e5351fbad5f5c28c2accbf5b7e6 to your computer and use it in GitHub Desktop.

Select an option

Save olegshtch/525c5e5351fbad5f5c28c2accbf5b7e6 to your computer and use it in GitHub Desktop.
Docker container for building iso
FROM dyne/devuan:chimaera
ARG SUITENAME=chimaera
ARG architecture=amd64
RUN apt update -y
RUN apt list --upgradable
RUN apt upgrade -y
RUN apt install -y fakechroot debootstrap fakeroot gettext-base
ARG NFS=/nfs/
ARG INCLUDE=build-essential,newlisp,isolinux,syslinux-common,syslinux-utils,fakeroot,libbogl-dev,bf-utf-source,grub-efi-${architecture}-bin,grub-pc,dosfstools,mtools,win32-loader,tofrodos,xorriso,git,ca-certificates,zsh,make,wget,grub-efi-ia32-bin,gettext-base
ARG XINCLUDE=build-essential newlisp isolinux syslinux-common syslinux-utils fakeroot libbogl-dev bf-utf-source grub-efi-${architecture}-bin grub-pc dosfstools mtools win32-loader tofrodos xorriso git ca-certificates zsh make wget grub-efi-ia32-bin gettext-base
RUN fakechroot -e debootstrap fakeroot debootstrap --include=${INCLUDE} --variant=fakechroot --no-merged-usr --arch ${architecture} ${SUITENAME} ${NFS} http://pkgmaster.devuan.org/merged
RUN echo 'touch /tmp/PATCH2' > ${NFS}/systemd-detect-virt
RUN chmod a+x ${NFS}/systemd-detect-virt
RUN fakechroot -e debootstrap fakeroot chroot ${NFS} chown root. /systemd-detect-virt
RUN fakechroot -e debootstrap fakeroot chroot ${NFS} dpkg --configure -a
RUN fakechroot -e debootstrap fakeroot chroot ${NFS} apt-get -y install devuan-keyring
RUN fakechroot -e debootstrap fakeroot chroot ${NFS} apt-get -y install ${XINCLUDE}
RUN mkdir ${NFS}/installer-iso
RUN echo "# don't install recommends and suggests packages\n\
APT::Install-Recommends \"false\";\n\
APT::Install-Suggests \"false\";\n\
" > ${NFS}/etc/apt/apt.conf.d/05norecommends
RUN echo "\n\
deb http://pkgmaster.devuan.org/merged ${SUITENAME} main contrib non-free\n\
deb-src http://pkgmaster.devuan.org/merged ${SUITENAME} main contrib non-free\n\
deb http://pkgmaster.devuan.org/merged ${SUITENAME} main/debian-installer\n\
deb http://pkgmaster.devuan.org/merged ${SUITENAME}-security main contrib non-free\n\
deb-src http://pkgmaster.devuan.org/merged ${SUITENAME}-security main contrib non-free\n\
deb http://pkgmaster.devuan.org/merged ${SUITENAME}-security main/debian-installer\n\
deb http://pkgmaster.devuan.org/devuan ${SUITENAME}-updates main contrib non-free\n\
deb-src http://pkgmaster.devuan.org/devuan ${SUITENAME}-updates main contrib non-free\n\
deb http://pkgmaster.devuan.org/devuan ${SUITENAME}-updates main/debian-installer\n\
deb http://pkgmaster.devuan.org/devuan ${SUITENAME}-proposed-updates main contrib non-free\n\
deb-src http://pkgmaster.devuan.org/devuan ${SUITENAME}-proposed-updates main contrib non-free\n\
deb http://pkgmaster.devuan.org/devuan ${SUITENAME}-proposed-updates main/debian-installer\n\
" > ${NFS}/etc/apt/sources.list
RUN fakechroot -e debootstrap fakeroot chroot ${NFS} apt-get -y update
RUN fakechroot -e debootstrap fakeroot chroot ${NFS} apt-get -y dist-upgrade
RUN fakechroot -e debootstrap fakeroot chroot ${NFS} apt-get -y install -t ${SUITENAME} linux-image-${architecture} kmod tiny-initramfs
# docker run -u 1000 --mount type=bind,src=/mnt/media/devuan/pool/DEVUAN,dst=/nfs/installer-iso/pool/DEVUAN,ro --mount type=bind,src=/mnt/media/devuan/pool/DEBIAN,dst=/nfs/installer-iso/pool/DEBIAN,ro --mount type=bind,src=/mnt/media/devuan/pool/FTP,dst=/nfs/installer-iso/pool/FTP,ro -v ~/devel/installer-iso:/nfs/installer-iso/ -w /nfs/installer-iso/ devuan-iso-builder
# $ fakechroot -e debootstrap chroot /nfs/ env SUITE=chimaera DISTVERSION=4.0 installer-iso/runbuild.sh netinstall
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment