Create/Update Simple-CDD .conf Files

Now to configure a build 'recipe', simple-cdd relies on a .conf file to parse the build parameters. This guide shows you how to create such file.

Location

.conf file can be located anywhere. However, as a good practice, it is best to keep them under a dedicated directory called "./confs" directory.

The filename is not tied to a pattern so you have the freedom to name it. My recommendation would be something like debian-amd64-WHY.conf that spells out everything systematically without needing to open the file.

Contents

With the location known and ready, you may proceed to create the .conf file. These are some core elements.

ARCH Environment Variable

To define your ISO architecture, you can use the normal export BASH environment variable mechanism. Multiple architectures can be separated using space and the keyword is ARCHES.

export ARCH="amd64"

OR

export ARCHES="i386 amd64"

CONTRIB and NONFREE Environment Variables

Debian by default only packs free and open-source license-only packages. You would want to enable CONTRIB and NONFREE environment variables in order to access packages from those 2 upstreams. To backup the environment variables, you want to set mirror_components with the same upstream values.

export CONTRIB=1                                                                
export NONFREE=1                                                                
mirror_components="main contrib non-free"

Distribution Declaration

Declare the distribution you want the ISO to base in.

dist="stable"

Profiles and Auto Profiles

Declare the list of profiles you want to include in ISO. Both profiles and auto_profiles must have the same values. The profile names are separated by space and everything should be delivered in a single string:

profiles="custom util"
auto_profiles="custom util"

Server Specification

To ensure you're obtaining those deb and udeb packages from a specific server, you can declare the server name and let debian_mirror and rsync_debian to do the rest.

server="ftp.fr.debian.org"
debian_mirror="ftp://$server/debian/"
rsync_debian_mirror="$server::debian"

Omit Manuals and Release Notes

For low footprint builds, you might want to omit manuals and release notes.

export OMIT_MANUAL=1
export OMIT_RELEASE_NOTES=1

Local Packages

This is for adding local custom packages into the repository. It allows one to point towards the packages location directory. If you follow the my setup Setup Simple-CDD Workspace, the path should be as follows:

local_packages="./local_packages"

You still need to include your custom packages inside your packages profile file. This only makes simple-cdd to be aware of your package location.

That's all for creating a .conf file.