File Minimal.kiwi of Package kiwi-templates-Minimal

<?xml version="1.0" encoding="utf-8"?>

<!-- OBS-Profiles: kvm-and-xen -->

<image schemaversion="7.4" name="openSUSE-Tumbleweed-Minimal" displayname="openSUSE Tumbleweed Minimal">
    <description type="system">
        <author>openSUSE Project</author>
        <contact>crc@suse.com</contact>
        <specification>openSUSE Tumbleweed Minimal</specification>
    </description>
    <profiles>
        <profile name="kvm-and-xen-sdboot" description="Minimal Image for KVM and Xen with systemd-boot" arch="aarch64,x86_64"/>
        <profile name="kvm-and-xen" description="Minimal Image for KVM and Xen" arch="aarch64,x86_64"/>
        <profile name="VMware" description="Minimal Image for VMware" arch="x86_64"/>
        <profile name="MS-HyperV" description="Minimal Image for Hyper-V" arch="aarch64,x86_64"/>
        <profile name="Cloud" description="Minimal Image for Cloud" arch="aarch64,x86_64"/>
        <profile name="RaspberryPi" description="Minimal Image for the Raspberry Pi" arch="aarch64"/>
    </profiles>
    <preferences profiles="kvm-and-xen" arch="x86_64">
        <version>1.0.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="oem"
            filesystem="btrfs"
            format="qcow2"
            firmware="uefi"
            efipartsize="33"
            kernelcmdline="rw quiet systemd.show_status=1 console=ttyS0,115200 console=tty0"
            bootpartition="false"
            bootkernel="custom"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
            bundle_format="%N-VM.%A-%M.%m.%p-%I"
        >
            <bootloader name="grub2"/>
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="boot/grub2/i386-pc"/>
                <volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <size unit="G">24</size>
        </type>
    </preferences>

    <preferences profiles="kvm-and-xen-sdboot">
        <version>1.0.0</version>
        <packagemanager>zypper</packagemanager>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="oem"
            filesystem="btrfs"
            format="qcow2"
            firmware="uefi"
            efipartsize="500"
            bootpartition="false"
            bootkernel="custom"
            initrd_system="none"
            editbootinstall="editbootinstall_mbr.sh"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
            bundle_format="%N-VM.%A-%M.%m.%p-%I"
        >
            <oemconfig>
                <oem-resize>false</oem-resize>
            </oemconfig>
            <bootloader name="custom"/>
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <size unit="G">24</size>
        </type>
    </preferences>

    <preferences profiles="kvm-and-xen" arch="aarch64">
        <version>1.0.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="oem"
            filesystem="btrfs"
            format="qcow2"
            firmware="uefi"
            efipartsize="33"
            kernelcmdline="rw quiet systemd.show_status=1 console=ttyS0,115200 console=tty0"
            bootpartition="false"
            bootkernel="custom"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
            bundle_format="%N-VM.%A-%M.%m.%p-%I"
        >
            <bootloader name="grub2"/>
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="boot/grub2/arm64-efi" mountpoint="boot/grub2/arm64-efi"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <size unit="G">24</size>
        </type>
    </preferences>

    <preferences profiles="VMware">
        <version>1.0.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="oem"
            filesystem="btrfs"
            format="vmdk"
            firmware="uefi"
            efipartsize="33"
            kernelcmdline="rw quiet systemd.show_status=1 console=ttyS0,115200 console=tty0"
            bootpartition="false"
            bootkernel="custom"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
            bundle_format="%N-VM.%A-%M.%m.%p-%I"
        >
            <bootloader name="grub2"/>
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="boot/grub2/i386-pc"/>
                <volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <size unit="G">24</size>
            <machine memory="1024" HWversion="10" guestOS="sles-64">
                <vmdisk id="0" controller="lsilogic"/>
            </machine>
        </type>
    </preferences>

    <preferences profiles="Cloud">
        <version>1.0.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="oem"
            filesystem="xfs"
            format="qcow2"
            firmware="uefi"
            efipartsize="33"
            kernelcmdline="rw quiet systemd.show_status=1 console=ttyS0,115200 console=tty0 net.ifnames=0"
            bootpartition="false"
            bootkernel="custom"
            devicepersistency="by-uuid"
            bundle_format="%N-VM.%A-%M.%m.%p-%I"
        >
            <bootloader name="grub2" timeout="1"/>
            <size unit="G">1</size>
        </type>
    </preferences>

    <preferences profiles="MS-HyperV" arch="x86_64">
        <version>1.0.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="oem"
            filesystem="btrfs"
            format="vhdx"
            firmware="uefi"
            efipartsize="33"
            kernelcmdline="rw quiet systemd.show_status=1 rootdelay=300 console=ttyS0,115200 console=tty0 earlyprintk=ttyS0,115200"
            bootpartition="false"
            bootkernel="custom"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
            bundle_format="%N-VM.%A-%M.%m.%p-%I"
        >
            <bootloader name="grub2" timeout="10"/>
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="boot/grub2/i386-pc"/>
                <volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <size unit="G">24</size>
        </type>
    </preferences>

    <preferences profiles="MS-HyperV" arch="aarch64">
        <version>1.0.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="oem"
            filesystem="btrfs"
            format="vhdx"
            firmware="uefi"
            efipartsize="33"
            kernelcmdline="rw quiet systemd.show_status=1 rootdelay=300 console=ttyS0,115200 console=tty0 earlyprintk=ttyS0,115200"
            bootpartition="false"
            bootkernel="custom"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
            bundle_format="%N-VM.%A-%M.%m.%p-%I"
        >
            <bootloader name="grub2" timeout="10"/>
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="tmp"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="boot/grub2/arm64-efi" mountpoint="boot/grub2/arm64-efi"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <size unit="G">24</size>
        </type>
    </preferences>

    <preferences profiles="RaspberryPi">
        <version>1.0.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="oem"
            initrd_system="dracut"
            filesystem="btrfs"
            fsmountoptions="noatime,compress=lzo"
            firmware="efi"
            kernelcmdline="rw quiet systemd.show_status=1 console=ttyS0,115200 console=tty"
            bootpartition="false"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
            efipartsize="64"
            editbootinstall="editbootinstall_rpi.sh"
            bundle_format="%N-Image.%A-%M.%m.%p-%I"
        >
            <bootloader name="grub2"/>
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="boot/grub2/arm64-efi" mountpoint="boot/grub2/arm64-efi"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <oemconfig>
              <oem-swap>true</oem-swap>
              <oem-swapsize>1000</oem-swapsize>
              <oem-skip-verify>true</oem-skip-verify>
            </oemconfig>
        </type>
    </preferences>

    <repository type="rpm-md" >
        <source path='obsrepositories:/'/>
    </repository>
    <packages type="image">
        <package name="patterns-base-base"/>
        <package name="patterns-base-apparmor"/> <!-- Installs tools and profiles -->
        <package name="audit"/> <!-- On SLE it's only recommended by the apparmor pattern -->
        <package name="aaa_base-extras"/> <!-- wouldn't be SUSE without that ;-) -->
        <package name="acl"/>
        <package name="chrony"/>
        <package name="curl"/> <!-- needed for openQA, maybe delete -->
        <package name="dracut"/>
        <package name="fipscheck"/>
        <package name="group(mail)"/> <!-- needed by useradd bsc#1061838-->
        <!-- Previously pam_cracklib was part of pam, but the replacement is only recommended -->
        <package name="pam_pwquality"/>
        <package name="cracklib-dict-small"/> <!-- Avoid the big 10MiB one -->
        <package name="iputils"/>
        <package name="issue-generator"/> <!-- bsc#1084879 -->
        <package name="vim-small"/>
        <package name="haveged"/>
        <package name="less"/>
        <package name="tar"/>
        <package name="parted"/>
        <package name="timezone"/>
        <package name="iproute2"/>
        <package name="openssh"/>
        <package name="rsync"/>
        <package name="dosfstools"/> <!-- For fscking /boot/efi -->
        <package name="procps"/> <!-- For free/ps and other basic utilities -->
        <package name="lsof"/> <!-- For zypper ps (bsc#1167553) -->
        <package name="live-add-yast-repos"/>
        <!-- <package name="rsyslog"/> for SLE -->
        <package name="systemd-logger"/> <!-- for openSUSE -->
        <package name="zypper-needs-restarting"/> <!-- Some deployment script use this (bsc#1173548) -->
        <package name="combustion &gt;= 1.2"/> <!-- 1.2+ has improved firstboot detection -->
        <package name="NetworkManager"/>
        <package name="dracut-kiwi-oem-repart"/>
    </packages>

    <packages type="image" profiles="kvm-and-xen,VMware,MS-HyperV,Cloud,RaspberryPi">
        <package name="grub2"/>
        <package name="grub2-arm64-efi" arch="aarch64"/>
        <package name="grub2-branding-openSUSE" bootinclude="true"/>
        <package name="grub2-x86_64-efi" arch="x86_64"/>
    </packages>

    <!-- Not needed in Cloud as it uses XFS and cloud-init -->
    <packages type="image" profiles="kvm-and-xen,kvm-and-xen-sdboot,VMware,MS-HyperV,RaspberryPi">
        <!-- Only for btrfs -->
        <package name="btrfsprogs"/>
        <package name="btrfsmaintenance"/>
        <package name="snapper-zypp-plugin"/>   <!-- this is key snapper/zypp integration, as requested in the PRD -->
        <package name="snapper"/>

        <!-- Require 1.2.0.0 for proper NM support.
             Not sure whether this syntax is intentionally supported but it appears to work. -->
        <package name="jeos-firstboot &gt;= 1.2.0.0"/>

        <!-- Not useful with Cloud -->
        <package name="firewalld"/>
    </packages>

    <packages type="image" profiles="kvm-and-xen,VMware,MS-HyperV,RaspberryPi">
        <package name="grub2-snapper-plugin"/>  <!-- snapper - grub2 - integration, "small" -->
    </packages>

    <packages type="image" profiles="kvm-and-xen,kvm-and-xen-sdboot,VMware,MS-HyperV,Cloud">
        <!-- Shim for secure boot everywhere except for RPi -->
        <package name="shim" arch="aarch64,x86_64"/>
    </packages>

    <packages type="image" profiles="kvm-and-xen">
        <package name="xen-tools-domU"/>
        <package name="xen-libs"/>
        <package name="kernel-default-base"/>
    </packages>
    <packages type="image" profiles="kvm-and-xen,Cloud">
        <package name="qemu-guest-agent"/>
    </packages>

    <packages type="image" profiles="kvm-and-xen-sdboot">
        <!-- kernel-default-base lacks dm-crypt -->
        <package name="kernel-default-base"/>

        <package name="sdbootutil-snapper"/>
        <package name="sdbootutil-rpm-scriptlets"/>
        <package name="efibootmgr"/>
        <package name="uefi_mbr" arch="x86_64"/>

        <package name="systemd-experimental"/> <!-- XXX: pulls in python but needed for tpm files -->

        <package name="disk-encryption-tool"/>
        <package name="dracut-pcr-signature"/>
    </packages>

    <packages type="image" profiles="VMware">
        <package name="cloud-init"/>
        <package name="cloud-init-config-suse"/>
        <package name="open-vm-tools" arch="x86_64"/>
        <package name="kernel-default-base"/>
    </packages>
    <packages type="image" profiles="Cloud">
        <package name="cloud-init"/>
        <package name="cloud-init-config-suse"/>
        <package name="jeos-firstboot"/>
        <package name="xfsprogs"/>
        <package name="kernel-default-base"/>
    </packages>
    <packages type="image" profiles="MS-HyperV">
        <package name="hyper-v"/>
        <package name="kernel-default-base"/>
    </packages>
    <packages type="image" profiles="RaspberryPi">
        <package name="raspberrypi-eeprom" arch="aarch64"/>
        <package name="raspberrypi-firmware" arch="aarch64"/>
        <package name="raspberrypi-firmware-config" arch="aarch64"/>
        <package name="raspberrypi-firmware-dt" arch="aarch64"/>
        <package name="arm-trusted-firmware-rpi4" arch="aarch64"/>
        <package name="kernel-default"/>
        <!-- For WiFi: -->
        <package name="wireless-regdb"/>
        <package name="wireless-tools"/>
        <package name="wpa_supplicant"/>
        <package name="bcm43xx-firmware"/>
        <package name="kernel-firmware-bluetooth"/>
        <package name="kernel-firmware-brcm"/>
        <package name="u-boot-rpiarm64" arch="aarch64"/>
    </packages>

    <packages type="bootstrap">
        <package name="filesystem"/>
        <package name="glibc-locale-base"/>
        <package name="ca-certificates-mozilla"/>
        <package name="openSUSE-release"/>

        <!-- Avoid that zypper picks the busybox-foo variant for those, that would fail later -->
        <package name="awk"/>
        <package name="coreutils"/>
        <package name="gzip"/>
    </packages>

    <packages type="bootstrap" profiles="kvm-and-xen,kvm-and-xen-sdboot">
        <package name="openSUSE-release-appliance-kvm"/>
    </packages>
    <packages type="bootstrap" profiles="Cloud">
        <package name="openSUSE-release-appliance-openstack"/>
    </packages>
    <packages type="bootstrap" profiles="MS-HyperV">
        <package name="openSUSE-release-appliance-hyperv"/>
    </packages>
    <packages type="bootstrap" profiles="VMware">
        <package name="openSUSE-release-appliance-vmware"/>
    </packages>
    <packages type="bootstrap" profiles="RaspberryPi">
        <package name="openSUSE-release-appliance-custom"/>
    </packages>
</image>
openSUSE Build Service is sponsored by