CutefishOS Installer.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Rohan Garg a98742c32c Use timedatectl provided by systemd to set the time on the target
Use tools provided by systemd to set the time and fall back to
manually doing it via linking /etc/localtime
9 years ago
.tx Add Transifex repo config. 10 years ago
CMakeModules Make Boost.Python3 cmake script work properly on Debian again 9 years ago
data/images Exclamation mark in Erase icon. 10 years ago
hacking Update RELEASE.md 9 years ago
lang Automatic merge of Transifex translations 9 years ago
src Use timedatectl provided by systemd to set the time on the target 9 years ago
.editorconfig Added .editorconfig 9 years ago
.gitattributes Add testmodule.py and globalStorage.yaml to export-ignore for tarballs. 9 years ago
.gitignore Update .gitignore. 9 years ago
.gitmodules Remove partitionmanager submodule. 9 years ago
AUTHORS AUTHORS file. 11 years ago
CMakeLists.txt Update deps. 9 years ago
CalamaresAddBrandingSubdirectory.cmake Rely on CMake if the branding component has a CMakeLists.txt. 10 years ago
CalamaresAddLibrary.cmake Add proper QResrouce system to libcalamaresui, finish up prepare checks 10 years ago
CalamaresAddModuleSubdirectory.cmake module.conf ==> module.desc everywhere. 10 years ago
CalamaresAddPlugin.cmake Add proper QResrouce system to libcalamaresui, finish up prepare checks 10 years ago
CalamaresBuildTreeSettings.cmake.in CMake skeleton. 11 years ago
CalamaresConfig.cmake.in We have a Python API for jobmodules! 10 years ago
CalamaresConfigVersion.cmake.in CMake skeleton. 11 years ago
CalamaresUse.cmake.in New CalamaresAddBrandingSubdirectory macro. 10 years ago
HACKING.md Update HACKING.md 9 years ago
LICENSE Update LICENSE 11 years ago
README.md Update deps. 9 years ago
calamares.desktop Use pkexec to execute calamares with the right permissions 10 years ago
cmake_uninstall.cmake.in CMake skeleton. 11 years ago
com.github.calamares.calamares.policy Rename pkexec policy file to .policy extension. 10 years ago
settings.conf Add dont-chroot setting to settings.conf. 9 years ago

README.md

Calamares: Distribution-Independent Installer Framework


GitHub release Build Status Coverity Scan Build Status GitHub license

Report a Bug Contribute Translate Freenode (IRC): #calamares

Dependencies

Compiler with C++11 support: GCC >= 4.9.0 or Clang >= 3.5.1

Main Welcome module Partitioning module Bootloader module Unpackfs module
CMake >= 2.8.12 NetworkManager extra-cmake-modules systemd-boot or GRUB2 squashfs-tools
Qt >= 5.3 UPower kconfig (part of KF5) sgdisk rsync
yaml-cpp >= 0.5.1 solid (part of KF5)
Python >= 3.3 kcoreaddons (part of KF5)
Boost.Python >= 1.55.0 ki18n (part of KF5)
dmidecode sgdisk

Deployment

Setting up branding

Working with modules

Building

Clone Calamares from GitHub and cd into the calamares directory, then:

$ git submodule init
$ git submodule update
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Debug ..
$ make

Supported variables for CMake

  • WITH_PYTHON - if this is set to false, the Python module interface will not be built. Default is true.
  • SKIP_MODULES - takes a space-separated list of module names that should not be built even if present in src/modules (e.g. cmake -DSKIP_MODULES="partition mount umount welcome" ..). Default is empty.

Design Notes

Calamares is currently split as follows:

  1. libcalamares - The back-end library.
  • Only depends on QtCore, yaml-cpp, Python and Boost.Python.
  • Provides a job queue and generic jobs.
  • Comes with 3 job interfaces: C++, Python and process (the latter is very limited).
  1. libcalamaresui - The front-end library.
  • Same dependencies as libcalamares, plus QtWidgets and other Qt modules.
  • Comes with a module loading system, for different kinds of plugins.
  • Supports branding components.
  • Presents a bunch of pages in a scripted order, enqueues jobs in the back-end library.
  1. calamares - The main executable.
  • A thin wrapper around libcalamaresui; starts up and plugs together all the parts.