Skip to main content

Unattended installation

Agama is able to install a system without user interaction. The user provides a definition of the system, known as a "profile", that describes how the system should look like (partitioning, networking, software selection, etc.) and Agama takes care of installing the system. This approach might sound familiar to AutoYaST users.

Configuration profiles

Agama configuration profiles can use either JSON or Jsonnet. That allows writing readable and concise profiles, like the following example instructing Agama to install Tumbleweed and create a first user so you can log in.

{
product: {
id: "Tumbleweed"
},
user: {
fullName: "Jane Doe",
userName: "jane.doe",
password: "123456"
}
}

It is possible to define the storage layout, which software to install, the network configuration, etc. Check the profile format section of Agama's user documentation to learn more.

It is worth to mention that, although Agama defines its own profile format, it is able to partially handle AutoYaST profiles. Check the AutoYaST support section for further information.

Starting the installation

Once you have your first profile, you just need to boot an Agama Live ISO telling Agama where to find the profile. That can be done setting the inst.auto boot option. You can use any of the URLs that Agama supports.

inst.auto=http://mydomain.org/tumbleweed.jsonnet

If you do not specify any profile, Agama will automatically search for it in a few predefined locations. Agama expects a file named autoinst.jsonnet, autoinst.json or autoinst.xml (in that order) to be located on:

  • The root of a file system named OEMDRV.
  • Or the root (/) of the installation environment.

The first file found is used as the profile, starting the installation right away. If no profile is found, Agama will fall back to the interactive installation.

Fully scripted installation

Specifying custom scripts at the profile and using Jsonnet can provide a great level of flexibility to define complex rules that are evaluated during the installation process. But sometimes that may not be enough and you may want to go one step further in order to implement a complex decision making process.

You can redefine the whole regular installation process using the inst.script boot option, which can even be used repeatedly.

inst.script=http://mydomain.org/custom-installation.sh

Agama will download the file, make it executable and run it. It is suggested to run these commands as part of the script:

  • agama config load
  • agama install

If inst.auto is also present, it is processed after inst.script.

Experimental feature

Long term backward compatibility is guaranteed for inst.auto, but inst.script is considered a last minute feature for SUSE Linux Enterprise 16.0 and openSUSE Leap 16.0. It may evolve in the following months, even in ways that may break recent inst.script programs.

We plan to specify this feature better and stabilize it by SLE 16.1 and the corresponding Leap version.