

You can build the Dockerfile here and run it with a sample command. An additional package list to install during OS installation ( packages.txt).Script itself and template files as essentials ( bootstrap.sh and templ_* files explained in Footnotes section).Hence, there are two main parts of this project:

ISO image will be created using ISO template that prepared in above steps.A repository (and metadata information) will be created under ISO template to use packages added.A copy of newly downloaded RPM file will be added into "rpms/" in working folder for later use to avoid re-downloading.Required packages (RPM files) will be downloaded in this phase if it is not downloaded yet and will be added into ISO template.Dependencies for "core" and "additional" packages will be scanned and a resulting package list will be created.Template files will be re-constructed and (re)placed on ISO template.Essentials (isolinux, EFI, boot images etc) will be copied from reference ISO as it is.An ISO template will be created (to "image/" in working folder).Rerefence ISO will be mounted (to "mtemp/" in working folder).

This will create an ISO image in the order of workflow shown below: A pure bash script to create minimal installation ISO image together with additional packages, leveraging one of official CentOS 8 ISO distribution.
