(Advanced Guide) Hacking into RebornOS Calamares Installer
Warning: Modifying the configuration files of Calamares may result in a broken installer, or worse, result in loss of important data from your computer. Do not proceed with this unless you know what you are doing and take full responsibility for the ensuing consequences.
If you are an advanced user who is familiar with Calamares’ configuration files and if you want to modify our installer slightly to get a custom install, you can find the appropriate files in /etc/calamares
:
The settings.conf file is just a dummy that will be replaced by either
settings_online.conf
or settings_offline.conf
when you either click on icons to launch Calamares or when you use the Welcome app to launch it.
Module-specific configuration files are found in the modules directory:
Here is a primer on the directory organization:
- The file
settings.conf
is a dummy that is replaced with eithersettings_online.conf
orsettings_offline.conf
depending on which icon is clicked either on the desktop or on the Welcome app. - The files
settings_online.conf
andsettings_offline.conf
are deliberately analogous line by line. They just have different parts commented out to differentiate them from each other (and minor switches between offline-online words). This helps us keep both up to date when we make changes in one of them. - The
branding
,modules
andqml
directories are the ones used by Calamares. The rest are custom ones:- The
development
directory is an area to keep source images or test code that will not end up in the configuration package. It is not used by the installer. - The
images
directory will be copied to/etc/calamares
for any modules to use. The files here are referenced by file path within various module-specific .conf files and within the python post-install script. - The
scripts
directory contains optional convenience scripts that will not be in the package and don’t need to be used. This is not used by the installer. - The
local_packages
directory contains packages meant for the offline installation. Currently it only has our customized grub theme. This is used by the python post-install script. - The
post_install
directory has a Python based post-install script (which logs at/var/log/post_install.log
in the target installation) that performs any desktop-specific or package-specific configuration after install, and also copies therootfs
directory to the final destination paths on the target installed system. If this post_install script works well for many different things, we might make it into a Calamares module for the upstream Calamares repository.
- The
- Each .conf file in the
modules
directory has a URL at the top for reference. These URLs lead to the upstream .conf files in the Calamares git repository - Our Calamares is regularly updated to the latest git version so that we get all the bug fixes and features. But we don’t directly use the upstream git version. We fork it to ensure that there is no outstanding breakage that makes the installer unusable.