It’s vacation season in Europe and most of the YaST development team will be busy for a couple of weeks singing Chistmas songs, celebrating the arrival of a new year and opening presents from the Three Wise Men. But we didn’t want to leave the openSUSE fans idle for so long. So we decided to release another prototype of Agama, so you can have fun testing it and giving us feedback.

Meet Agama 7 and its corresponding Agama Live ISO images for testing.

Localization Settings for the Target System

One of the most significant changes compared to previous versions is the possibility of fully configuring all the localization aspects of system to be installed. That includes the language, the keyboard layout and the time zone.

Localization

Note these aspects don’t affect the Agama interface. The language used by Agama during the installation process is determined by the browser. However, it can be changed through the Agama sidebar as already explained in our previous blog post.

Keyboard Selector for Local Installation

But what happens when the browser you use to connect to Agama is not in a remote machine properly configured but is the full-screen browser offered by the Agama Live testing image? Don’t worry; your localization needs are also covered.

As you can see in the description of this pull request, you can use the Agama sidebar to change the keyboard layout if the browser is running in the same system executing Agama, as is the case of Agama Live.

We plan to create a proper welcome screen for users who don’t know enough English to reach that sidebar. Meanwhile we hope the current options will be enough to use Agama in your preferred language and get a correctly localized system as result of the installation.

Reduce RAM Usage in the Testing Image

Talking about the Agama Live testing image, we recently reduced the amount of RAM it requires to install openSUSE. In fact, Agama’s memory usage has mostly stayed the same, but we enabled zram by default in the live image and now everything should work better in systems with a limited amount of RAM. If you want to disable zram, just open a terminal and execute the following command.

systemctl stop zramswap

To be honest, we cannot foresee any good reason to disable zram, so let us know if you think we are mistaken.

Installation of openSUSE MicroOS

We also reorganized the Agama configuration included in the openSUSE flavor of Agama Live. Now you can use the very same testing image to install openSUSE Tumbleweed and openSUSE MicroOS.

Product Selection

First Step to Simplify Selection of Software

In Agama 5 we introduced a software patterns selector to allow the user to customize, to some extent, which software to install. It was just a prototype but it unveiled some troubles:

  • There are way too many patterns and it is easy to get lost.
  • As some products share the same repositories (i.e., Tumbleweed and MicroOS), you might mix patterns from both products.

To mitigate those problems, Agama displays now a curated list of patterns for each product. However, the current implementation is still a prototype, as we plan to refine the approach and add more features, like proper conflict handling.

Registration Support

As you may know, some SUSE products are expected to be registered in the SUSE Customer Center using a product key. Agama now supports this use case, although with some limitations. The most relevant one is that it does not support any proxy of the SUSE Customer Center (e.g., Repository Mirroring Tool).

Another constraint of the current implementation is that it does not support products with optional registration.

However, there are plans to remove those limitations sooner than later.

More Customization Options

The storage area got its share of regular enhancements too. The first noticeable change is that you can tell Agama how to make space to install the system. Do you want to remove the current content and use the whole disk? Or do you prefer to shrink existing partitions to make space? Or would you like to use only the available space? We expect these options to cover most of the use cases, although we plan to add support for a more fine-grained approach.

File system type selector

Another significant change in the storage area is allowing users to select the file system for each mount point. It includes enabling or disabling snapshots if you want to use Btrfs.

Network Bonding

The network configuration is one of the areas we want to focus on the short term. Until now, Agama only supports simple use cases over wired and wireless devices. However, it is limited if you use a network-based storage device (e.g., iSCSI) to install the system.

For that reason, in close collaboration with our network experts at SUSE, we are adding support for more scenarios. In this release, you can set up a bonding connection, although this feature is limited by now to the unattended installation case. The example below shows how to define the connection.

{
  "id": "Bonding Connection 1",
  "interface": "bond",
  "bond": {
      "ports": ["eth0", "eth1"],
      "mode": "active-backup",
      "options": "primary=eth1"
  }
}

Other Improvements

  • Preserve the installation logs for easier error reporting and debugging.
  • Make it possible to translate the messages in the installation progress screen. Our superb team of translators is already working on them.
  • Several accessibility improvements in the web user interface by adding aria-label, aria-live-region and aria-busy attributes where needed.

The Year of Agama

Agama 7 is the first prototype we could consider to be “functional enough”. It finally covers all the areas we consider as essencial during the installation of the system: localization, network configuration, storage setup, authentication basis (including the optional creation of a first user) and an intentionally simplistic selection of the software to install.

Of course, all those areas need to evolve much further and that’s exactly the goal for this new year - take Agama to the next level in which it could even replace YaST for some scenarios and distributions.

Your contributions and opinions are an important element for that. So don’t hesitate to contact the YaST team at the YaST Development mailing list, our #yast channel at Libera.chat or the Agama project at GitHub.

See you again in 2024!