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.