Calamares Manjaro GRUB menu

Calamares is a new system installation framework designed to be easily customized and used as the installation program for any Linux distribution.

The Calamares development team is made up of individuals from different open source project’s, but most are KDE developers.

According to information from the project’s home page:

The idea of Calamares arose from a desire of several independent Linux distributions to come together and work on a shared system installer. Instead of everyone working on their own implementation and forking forks of forks, why not work together on something that can be used by many?

That’s an idea that I second, and one that will most certainly be beneficial to distributions like Linux Mint Debian Edition (LMDE) that sorely need a good graphical installer. Calamares is still in its early stages of development and lacks some key features, but it is already the default installation program on a few distributions, like OpenMandriva, Sabayon and Manjaro.

Before switching to Calamares, Sabayon’s installer was a fork of a version of the old Anaconda, the Fedora system installer. The switch to Calamares was made with the release of Sabayon 15.09, the latest stable edition.

In this post, I’ll show, using images taken from test installations of the latest editions of Sabayon and Manjaro, what Calamares looks like.

This image shows the first step of Calamares. This was taken from the latest edition of Sabayon.

Calamares system installer Sabayon
Figure 1: Calamares system installer on Sabayon Linux

This is the same step of the installer on the latest edition of Manjaro, a desktop distribution based on Arch Linux.

Calamares system installer Manjaro
Figure 2: Calamares system installer on Manjaro Linux

The timezone setup step of Calamares. Timezone detection is not automatic. Although not shown here, even language detection is not automatic.

Calamares timezone setup
Figure 3: Timezone setup step of Calamares

If the target hard drive has an operating system already installed, Calamares is able to auto-detect it and give you the appropriate options. However, on Sabayon, that didn’t work as expected.

Calamares partition methods
Figure 4: Partition methods of the Calamares system installer on Sabayon Linux

But it worked on Manjaro. The target hard drive from which this image was taken from has Linux Mint 17.2 installed. Calamares even has an option to install on a specific partition.

Calamares partition methods
Figure 5: Partition methods of the Calamares system installer on Manjaro Linux

If the target hard drive has an operating system already installed, and you chose to setup a dual-boot system, you’ll be able to adjust what portion of the partition’s free space to use, just like on Ubiquity, Ubuntu‘s graphical installer.

Calamares adjust partitions
Figure 6: Adjusting disk partition on Calamares system installer

This is the installer’s manual partitioning tool’s window. From here you can create partitions manually and, if necessary, change the partition table. MBR and GPT partition tables are supported.

Calamares manual disk partition
Figure 7: Manual disk partition tool of Calamares system installer

This shows the partition editor and the list of supported file systems.

Calamares partition editor
Figure 8: Partition editor of the Calamares system installer

The user account setup step. Aside from creating a standard user, there’s the option to specify a password for the root user. Unlike the same step in the Ubuntu installer, there’s no option to encrypt the home folder yet.

Calamares user account setup
Figure 9: User account setup step of the Calamares system installer

The step shown in Figure 10 gives a read-only summary of installation choices specified in previous steps.

Calamares system installer
Figure 10: Summary step of the Calamares system installer

Like other system installers, Calamares has the customary slideshow as the system is being installed.

Calamares installation slideshow
Figure 11: Calamares system installer installation progress and slideshow

After a dual-boot system has been installed successfully, Figure 12 shows what the GRUB menu looks like.

Calamares Manjaro GRUB menu
Figure 12: GRUB menu as configured by the Calamares system installer on Manjaro Linux

All that looks good, right? I think it does, but I’m sure you must be wondering, What about support for disk encryption, RAID and LVM, the Linux Logical Volume Manager? Well those features have not been implemented yet.

Knowing that, why did Sabayon’s developers drop their installer, which has all those features, for Calamares? Good question, but I don’t know why. What I do know is that Calamares is a good idea, but it’s not yet ready for prime time.

The good news, at lest with respect to disk encryption, is that the feature request for it has been closed, and the code has been targeted for inclusion in Calamares 1.2. The latest stable release is Calamares, which was released just two days ago. There’s been some discussion about LVM and RAID, but the requests for those are still open.

Aside from the distributions mentioned in this article, a complete list of distributions already using Calamares and those that are still evaluating it, is available here.


Share on facebook
Share on twitter
Share on pinterest
Share on linkedin

Hola! Did you notice that no longer runs network ads?  Yep, no more ads from the usual suspects that track you across the Internet.  But since  I still need to pay to keep the site running, feel free to make a small donation by PayPal.

Subscribe for updates. Trust me, no spam!

Mailchimp Signup Form

Sponsored links

1. Attend Algorithm Conference, a top AI and ML event for 2020.
2. Reasons to use control panel for your server.
3. DHgate Computers Electronics, Cell Phones & more.

22 Responses

  1. HI

    please comment using your configuration for big server is it work.

    I use it and it reduce ram the culpit is php7.2-fpm it eat all ram.


  2. The later part of the original tutorial of having each sub pool conf have it’s own master process I couldn’t get to work, and I followed the instructions exactly… anyone else able to get multiple PHP-FPM masters working?

  3. This config suggestion is stinky unless you have a very inactive website. Of course you will limit the memory usage in idle mode with this config, but if you have a highly active website, this config will drain CPU and IO uneccessarily as each PHP environment needs to be loaded to your memory before it actually – and where does the environment come from (a: disk) and who will handle it (a: cpu)? Leaving the process “open” and ready in your memory means that the PHP environment is preloaded in order to handle your visitors requests.

    One very powerful option with PHP-FPM is the performance. But this performance depends on having processes preloaded. When switching to on demand you actually kills this idea, and could rather go with something else like the horrible slow suphp.

    Suggestion. Do always keep atleast one process alive and swith pm to dynamic, as it would always fall back to “pm.start_servers” in idle periods. If you have memory limits do instead tweak the pm.max_children setting.

  4. What you fail to mention is that setting it to ondemand means longer response times as the PHP interpreter has to be started from scratch every time it’s needed. Consider leaving it at dynamic and rely on low values for the pm.max_children, pm.max_requests, and pm.process_idle_timeout settings to clear out memory usage.

  5. This is useful, and yes it does work.

    However, it is in some ways selling snake oil because you’re not making it any less memory-hungry; instead, you’re just preventing it from pre-allocating a maximum amount of memory, so it’s easier to get bitten on the arse when your server runs out of memory from a traffic spike. Even though PHP-FPM using up 600mb of memory, for instance, when it’s doing nothing, it allows you to work out how much memory everything else will need before the whole thing explodes.

    Still, I think this is a good option for smaller sites that don’t get a huge amount of traffic, especially if you limit the max connections. So I will be using it, but people just need to be warned that it will still use the same amount of memory for the same amount of connections- but that sudden RAM spike may come as a shock.

  6. I have website with 100 to 200 Concurrent Users. 2GB RAM and 2 CPU Cores So what will be good config?

    My Current is

    pm = dynamic
    pm.start_servers = 1
    pm.max_children = 5
    pm.min_spare_servers = 1
    pm.max_spare_servers = 5

    What can be good?

  7. I think its important to point out that using less memory is a secondary issue to latency. If the box is spending time spinning up and down workers, that added latency is felt by the consumer.

    These settings might work for a small website. I would not recommend it for high usage systems. From my testing, I get the the best performance using static workers as the expense of increased memory usage.

    1. Less memory is not a secondary issue to latency if it’s a small site and other things have to run in the same space. Linode servers give you a gig for the $10/mo option, and you have to make it last…

  8. Hello

    Found you on google.
    Here’s an output of server resources usage on DO:
    24069 serverp+ 20 0 490016 99564 70984 S 2.7 9.8 2:35.12 php-fpm
    24847 serverp+ 20 0 484932 93696 69316 S 2.7 9.2 1:53.23 php-fpm
    24070 serverp+ 20 0 490668 101784 71420 S 2.2 10.0 2:08.30 php-fpm
    24072 serverp+ 20 0 489028 100720 71996 S 2.2 9.9 2:06.21 php-fpm
    23977 serverp+ 20 0 484444 97488 73492 S 1.8 9.6 2:12.38 php-fpm
    23996 serverp+ 20 0 493456 107496 74340 S 1.8 10.6 2:22.87 php-fpm
    24231 serverp+ 20 0 488612 100456 72248 S 1.8 9.9 2:07.68 php-fpm
    25955 serverp+ 20 0 491272 97948 67044 S 1.8 9.6 1:12.52 php-fpm

    serverpilot@server:~$ free -ht
    total used free shared buffers cached
    Mem: 994M 925M 68M 104M 88M 216M
    -/+ buffers/cache: 620M 374M
    Swap: 511M 35M 476M
    Total: 1.5G 961M 544M

    Gonna implement these changes straight away. Thank you.

    1. Can’t edit my comment, but my server runs with DO 1gb package and free package.

      I made some custom config changes here and there, but I’m not a pro either.

  9. In my case, I always have HIGH CPU USAGE and LOW RAM USAGE.
    Is there any solution by tuning php5-fom? Or it is just a case of bad PHP/SQL scripts?

    1. I think it’s mostly a case of bad scripts. No matter how much I tweak stuff, I’m still getting higher than expected RAM/CPU usage on the PHP side. I only managed to reduce RAM usage by MySQL simple by disabling performance metrics, though I’m not sure if it has any negative effect that I’m not seeing yet.

  10. If you enable ondemand and timeout, what happens to opcache? Is the cache enable on a per-process basis, and if so does it get wiped when that process times out?

    1. Opcache was not enabled, but after turning it on and tweaking it, RAM usage dropped even lower. Still trying to see hwo well I can tune it so all works well… Stay tuned!

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the latest

On social media
Via my newsletter
Mailchimp Signup Form

Partner links

1. Attend Algorithm Conference, a top AI and ML event for 2021.
2. Reasons to use control panel for your server.
3. DHgate Computers Electronics, Cell Phones & more.
Hacking, pentesting distributions

Linux Distributions for Hacking

Experts use these Linux distributions for hacking, digital forensics, and pentesting.


The authors of these books are confirmed to speak during

Algorithm Conference

T-minus AI

Author was the first chairperson of AI for the U.S. Air Force.

The case for killer robots

Author is the Director of the Center for Natural and Artificial Intelligence.

Why greatness cannot be planned

Author works on AI safety as a Senior Research Scientist at Uber AI Labs.

Anastasia Marchenkova

An invitation from Anastasia Marchenkova

Hya, after stints as a quantum researcher at Georgia Tech Quantum Optics & Quantum Telecom Lab, and the University of Maryland Joint Quantum Institute, I’m now working on superconducting qubit quantum processors at Bleximo. I’ll be speaking during Algorithm Conference in Austin, Texas, July 16 – 18, 2020. Meet me there and let’s chat about progress and hype in quantum computing.