New version of the Agama 8 installer now available for openSUSE and SUSE

openSUSE project developers published installer release Agama 8 (formerly D-Installer), designed to replace the classic SUSE and openSUSE installation interface, and is notable for separating the user interface from the YaST internals. Agama provides the ability to use various frontends, for example, a frontend for managing the installation via a web interface. To test a new installer formed live builds for x86_64, ppc64le, s390x and ARM64 architectures, supporting the installation of openSUSE Leap, the continuously updated openSUSE Tumbleweed build, as well as several editions of SUSE ALP based on isolated containers.

The new installer provides the capabilities necessary to solve such tasks as choosing an initial set of applications, setting up a network connection, language, keyboard, time zone and localization settings, preparing a storage device and partitioning, and adding users to the system. The main goals of Agama's development include eliminating existing limitations of the graphical interface, expanding the ability to use YaST functionality in other applications, moving away from being tied to a single programming language, and encouraging the creation of alternative settings by members of the community.

Advertisement

To install packages, check equipment, partition disks and other functions necessary for installation, Agama continues to use YaST libraries, on top of which layer services are implemented that abstract access to libraries via a unified communication protocol based on HTTP. The installer uses a multi-process architecture, thanks to which the user interface is not blocked while other work is being done. The basic interface for managing the installation is built using web technologies. The web interface is written in JavaScript using the framework React and components PatternFly. The messaging service, as well as the built-in http server, are written in Ruby.

The new version offers new architecture, which marked a transition from the use of ready-made modules developed by the Cockpit project in favor of an independent framework and a modernized user interface. Instead of D-Bus, HTTP is used as the main communication protocol for interaction between Agama components. Replacing D-Bus with HTTP expanded the project's ability to integrate with larger systems and simplified the organization of installation in an automated manner.

Moving away from being tied to Cockpit made it possible to eliminate additional external dependencies; for example, Cockpit contains components in Python and C languages ​​as dependencies, while Agama uses Ruby and Rust languages. Removing Cockpit also freed developers from the limitations they encountered when trying to implement an automatic installation mode and redesigned the storage configuration interface to achieve the optimal balance of simplicity for beginners and functionality for advanced users.

In addition, the use of the new architecture significantly reduced the startup time of the installer and increased its performance, while maintaining the ability to use already proven low-level components. Among the features that have not yet been transferred to the new implementation are the built-in terminal emulator and tools for managing DASD (Direct Access Storage Device) and zFCP (SCSI-over-Fiber Channel) devices.

Advertisement

In addition to the new architecture, Agama 8 offers a completely redesigned and more functional interface for setting up storage and partitioning disk partitions, which retains all the basic capabilities of the classic YaST storage setup system and leaves tools for advanced customization, but has also been adapted to make it easier for beginners to understand. For example, the new interface allows you to select the location of each LVM partition or logical volume, mount or reformat previously accessible file systems, configure encryption and boot options, and resize partitions.

The changes also include a new interface for selecting application sets, improved settings for full-disk encryption based on TPM, a completely rewritten network stack, modernization of some widgets, improved interfaces for editing FS parameters and creating users, more visualization of problems encountered during installation, translation into 10 languages .

In a month, the release of Agama 9 is expected, in which it is planned to carry out a significant reorganization of the web interface, implement opportunities missed during the transition to the new architecture, and also expand the means for automatic installation, carried out without human intervention. The goal of the development is to be compatible with AutoYaST and to enable Agama to be used as an alternative to AutoYaST.

Thanks for reading:

Advertisement