Distribution-independent installer framework
Go to file
Kevin Kofler 8c98aeb04a Make efiSystemPartition mount point configurable in partition.conf.
Copy the setting into the global storage. Make the EraseDiskPage in the
partition module and the grub and bootloader modules read it from there.
Do not hardcode /boot as the path anymore.

I set the default path to /boot/efi because I think that's the most
common setting. At least Fedora and Debian use that path. But we can
change the default setting if you think I'm wrong, as long as it remains
configurable.

There is no separate setting for efi_directory_firmware anymore. The EFI
firmwares expect that directory to always be in the "EFI" path in the
EFI System Partition. Distributions using /boot/efi actually have that
directory under /boot/efi/EFI.
2015-02-14 22:53:00 +01:00
.tx Add Transifex repo config. 2014-10-09 16:27:20 +02:00
CMakeModules Fix colors test again. 2014-11-07 17:58:47 +01:00
data/images Add replace icon. 2014-12-19 13:53:04 +01:00
hacking hacking/GlobalStorage.md: Document the "branding" dictionary. 2014-11-16 15:02:32 +01:00
lang Automatic merge of Transifex translations 2015-02-14 08:45:55 +00:00
src Make efiSystemPartition mount point configurable in partition.conf. 2015-02-14 22:53:00 +01:00
.gitignore Merge pull request #114 from plfiorini/gitignore 2014-09-01 08:25:26 +02:00
.gitmodules Move partitionmanager code to src/modules/partition 2014-07-15 11:54:09 +02:00
AUTHORS AUTHORS file. 2014-06-11 13:39:44 +02:00
calamares.desktop Use pkexec to execute calamares with the right permissions 2014-11-04 17:59:31 +01:00
CalamaresAddBrandingSubdirectory.cmake New CalamaresAddBrandingSubdirectory macro. 2014-10-10 18:07:41 +02:00
CalamaresAddLibrary.cmake Add proper QResrouce system to libcalamaresui, finish up prepare checks 2014-08-26 18:24:51 +02:00
CalamaresAddModuleSubdirectory.cmake module.conf ==> module.desc everywhere. 2014-08-06 16:01:39 +02:00
CalamaresAddPlugin.cmake Add proper QResrouce system to libcalamaresui, finish up prepare checks 2014-08-26 18:24:51 +02:00
CalamaresBuildTreeSettings.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CalamaresConfig.cmake.in We have a Python API for jobmodules! 2014-07-17 19:42:16 +02:00
CalamaresConfigVersion.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CalamaresUse.cmake.in New CalamaresAddBrandingSubdirectory macro. 2014-10-10 18:07:41 +02:00
cmake_uninstall.cmake.in CMake skeleton. 2014-06-04 16:35:26 +02:00
CMakeLists.txt Fix build without Python support. 2015-02-14 22:45:36 +01:00
com.github.calamares.calamares.policy Rename pkexec policy file to .policy extension. 2014-11-05 23:34:03 +01:00
HACKING.md Licensing rules in HACKING.md 2014-08-11 16:50:22 +02:00
LICENSE Update LICENSE 2014-06-03 22:32:42 +02:00
README.md Update README.md 2014-12-18 23:18:22 +01:00
settings.conf Remove obsolete comment 2015-01-29 22:46:07 +01:00

Calamares

Distribution-independent installer framework

Report bugs here

Build Status

Dependencies

  • CMake >= 2.8.12
  • Qt >= 5.3
  • yaml-cpp >= 0.5.1
  • Python >= 3.3
  • Boost.Python >= 1.55.0

Additional dependencies, only for the partitioning module:

  • extra-cmake-modules
  • kconfig (part of KF5)
  • solid (part of KF5)
  • kcoreaddons (part of KF5)
  • ki18n (part of KF5)

Building

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

Design notes

Calamares is currently split as follows:

  • libcalamares - the backend 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);
  • libcalamaresui - the frontend library,
  • same dependencies as libcalamares, plus QtWidgets and other Qt modules,
  • comes with a module loading system, for different kinds of plugins,
  • themeable so branding can be done easily (plugin-based, TBD),
  • presents a bunch of pages in a scripted order, enqueues jobs in the backend library;
  • calamares - the main executable,
  • a thin wrapper around libcalamaresui, starts up and plugs together all the parts.