AutoYaST is openSUSE/SLES's unattended-install mechanism, built on the YaST installer/configuration framework — the SUSE-ecosystem equivalent of Kickstart (RHEL) or Preseed (Debian), using an XML profile instead of a flat text answer file.
Profile structure¶
<?xml version="1.0"?>
<!DOCTYPE profile>
<profile xmlns="http://www.suse.com/1.0/yast2ns"
xmlns:config="http://www.suse.com/1.0/configns">
<general>
<mode>
<confirm config:type="boolean">false</confirm>
</mode>
</general>
<networking>
<keep_install_network config:type="boolean">true</keep_install_network>
</networking>
<partitioning config:type="list">
<drive>
<device>/dev/sda</device>
<use>all</use>
<partitions config:type="list">
<partition>
<mount>/</mount>
<filesystem config:type="symbol">btrfs</filesystem>
<size>max</size>
</partition>
</partitions>
</drive>
</partitioning>
<users config:type="list">
<user>
<username>admin</username>
<user_password>changeme</user_password>
<encrypted config:type="boolean">false</encrypted>
<groups>users,wheel</groups>
</user>
</users>
<software>
<patterns config:type="list">
<pattern>base</pattern>
<pattern>server</pattern>
</patterns>
</software>
<scripts>
<post-scripts config:type="list">
<script>
<filename>enable-services.sh</filename>
<source><![CDATA[
systemctl enable chronyd
]]></source>
</script>
</post-scripts>
</scripts>
</profile>
<confirm>false</confirm> under <general><mode> is AutoYaST's equivalent of Kickstart/Autoinstall's unattended flag — without it, YaST pauses for a final confirmation before writing changes.
Generate a profile from an existing install¶
yast2 clone-system
# writes /root/autoinst.xml, cloning the current system's YaST-visible configuration
Same pattern as anaconda-ks.cfg on RHEL and debconf-get-selections on Debian: install once by hand the way you want it, then export and trim.
Validate¶
/usr/lib/YaST2/bin/y2xmltool --check autoinst.xml # path/tool name varies somewhat by SUSE version; check `rpm -ql autoyast2` if not found there
Delivering the profile¶
# HTTP
autoyast=http://<server>/autoyast/profile.xml
# From install media
autoyast=device://sr0/autoinst.xml
# Rule-based: AutoYaST can also fetch a profile matching the client's own attributes
# (MAC, hostname, IP) from a server-side "rules.xml" director file, similar in spirit
# to Cobbler/Foreman's per-host templating
autoyast=http://<server>/autoyast/rules.xml
Boot the install media with autoyast=<location> as a kernel/boot parameter, the same mechanical pattern as inst.ks= for Kickstart or auto url= for Preseed — see PXE/netboot for serving this over the network alongside other distros' installers.