File SaMaxi-Base-Image.kiwi of Package SaMaxi-Base-Image

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

<!-- OBS-Profiles: @BUILD_FLAVOR@ -->

<image 
  schemaversion="7.6" 
  name="SaMaxi-Base-Image" 
  displayname="SaMaxi Base Image"
>
  <description type="system">
    <author>Frank Schreiner</author>
    <contact>m0ses@samaxi.de</contact>
    <specification>SaMaxi Base Image</specification>
  </description>

  <profiles>
    <profile name="BIOS" description="SaMaxi Base Image for bare metal servers with legacy bios" arch="x86_64"/>
    <profile name="KVM" description="SaMaxi Base Image for KVM" arch="aarch64,x86_64"/>
    <profile name="RaspberryPi" description="SaMaxi Base Image for the Raspberry Pi" arch="aarch64"/>
  </profiles>

  <preferences profiles="BIOS" arch="x86_64">
    <version>2024.06.16</version>
    <packagemanager>zypper</packagemanager>
    <bootloader-theme>openSUSE</bootloader-theme>
    <rpm-excludedocs>true</rpm-excludedocs>
    <type
      image="oem"
      filesystem="ext4"
      firmware="bios"
      kernelcmdline="nomodeset console=ttyS1,115200 net.ifnames=0"
      installpxe="true"
      mdraid="mirroring"
      bootpartition="true"
    >
      <bootloader name="grub2" console="serial"/>
      <oemconfig>
	<oem-unattended>true</oem-unattended>
	<oem-swapsize>1024</oem-swapsize>
	<oem-multipath-scan>false</oem-multipath-scan>
	<oem-device-filter>/dev/ram</oem-device-filter>
      </oemconfig>
      <systemdisk name="vgsystem" preferlvm="true">
	<volume name="@root" size="20000M"/>
      </systemdisk>
    </type>
  </preferences>

  <preferences profiles="KVM" arch="x86_64">
    <version>2024.06.16</version>
    <packagemanager>zypper</packagemanager>
    <bootloader-theme>openSUSE</bootloader-theme>
    <rpm-excludedocs>true</rpm-excludedocs>
    <type
      image="oem"
      filesystem="ext4"
      format="qcow2"
      firmware="uefi"
      efipartsize="33"
      kernelcmdline="rw quiet systemd.show_status=1 console=ttyS0,115200 net.ifnames=0"
      bootpartition="false"
      bootkernel="custom"
      devicepersistency="by-uuid"
    >
      <bootloader name="grub2" console="serial"/>
      <size unit="G">8</size>
    </type>
  </preferences>

  <preferences profiles="KVM" arch="aarch64">
    <version>2024.06.16</version>
    <packagemanager>zypper</packagemanager>
    <bootloader-theme>openSUSE</bootloader-theme>
    <rpm-excludedocs>true</rpm-excludedocs>
    <type
      image="oem"
      filesystem="ext4"
      format="qcow2"
      firmware="uefi"
      efipartsize="33"
      kernelcmdline="rw quiet systemd.show_status=1 console=ttyS0,115200"
      bootpartition="false"
      bootkernel="custom"
      devicepersistency="by-uuid"
    >
      <bootloader name="grub2"/>
      <size unit="G">8</size>
    </type>
  </preferences>

  <preferences profiles="RaspberryPi">
    <version>2024.06.16</version>
    <packagemanager>zypper</packagemanager>
    <bootloader-theme>openSUSE</bootloader-theme>
    <rpm-excludedocs>true</rpm-excludedocs>
    <type
      image="oem"
      initrd_system="dracut"
      filesystem="ext4"
      fsmountoptions="noatime"
      firmware="efi"
      kernelcmdline="rw quiet systemd.show_status=1 console=tty console=ttyS0,115200 net.ifnames=0"
      bootpartition="false"
      devicepersistency="by-uuid"
      efipartsize="64"
      editbootinstall="editbootinstall_rpi.sh"
    >
      <bootloader name="grub2" console="serial"/>
      <oemconfig>
	<oem-swap>true</oem-swap>
	<oem-swapsize>1000</oem-swapsize>
	<oem-skip-verify>true</oem-skip-verify>
      </oemconfig>
    </type>
  </preferences>
<!-- END preferences -->

  <users>
    <user name='root'  groups="root"  password='$y$j9T$qsXL6ZObGfh.kTDQjaAC81$gcqcgH6P4xLgGCYlOpo2vSsASdup/GalOKHiqk2.KL0' home='/root' shell='/bin/bash'/>
  </users>

  <repository type="rpm-md" >
    <source path='obsrepositories:/'/>
  </repository>

<!-- IMAGE PACKAGES -->
  <packages type="image">
    <package name="chrony"/>
    <package name="dracut"/>
    <package name="fipscheck"/>
    <package name="iputils"/>
    <package name="vim"/>
    <package name="vim-data"/>
    <package name="haveged"/>
    <package name="parted"/>
    <package name="timezone"/>
    <package name="iproute2"/>
    <package name="openssh"/>
    <package name="openssh-server"/>
    <package name="openssh-clients"/>
    <package name="dosfstools"/> <!-- For fscking /boot/efi -->
    <package name="lsof"/> <!-- For zypper ps (bsc#1167553) -->
    <package name="wicked"/>
    <package name="dracut-kiwi-oem-repart"/>
    <package name="git-core"/>
    <package name="ca-certificates-cacert"/>
    <!-- Require 1.2.0.0 for proper NM support.
	 Not sure whether this syntax is intentionally supported but it appears to work. -->
    <package name="salt-minion"/>
    <package name="screen"/>
    <package name="etckeeper"/>
  </packages>

  <!-- IMAGE PACKAGES BIOS -->
  <packages type="image" profiles="BIOS">
    <package name="kernel-default"/>
    <package name="dbus-1-daemon"/>
    <package name="dracut-kiwi-oem-dump"/>
    <package name="grub2-branding-openSUSE"/>
    <package name="mdadm"/>
    <package name="grub2"/>
    <package name="grub2-i386-pc" arch="x86_64"/>
    <package name="grub2-branding-openSUSE" bootinclude="true"/>
  </packages>
  <!-- END IMAGE PACKAGES BIOS -->

  <!-- IMAGE PACKAGES KVM -->
  <packages type="image" profiles="KVM">
    <package name="shim" arch="aarch64,x86_64"/>
    <package name="xen-tools-domU"/>
    <package name="xen-libs"/>
    <package name="kernel-default-base"/>
    <package name="qemu-guest-agent"/>
    <package name="grub2"/>
    <package name="grub2-arm64-efi" arch="aarch64"/>
    <package name="grub2-x86_64-efi" arch="x86_64"/>
    <package name="grub2-branding-openSUSE" bootinclude="true"/>
  </packages>
  <!-- END IMAGE PACKAGES KVM -->

  <!-- IMAGE PACKAGES RaspberryPi -->
  <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"/>
    <package name="grub2"/>
    <package name="grub2-arm64-efi" arch="aarch64"/>
    <package name="grub2-branding-openSUSE" bootinclude="true"/>
    <package name="fde-tpm-helper"/>
  </packages>
  <!-- END IMAGE PACKAGES RaspberryPi -->
<!-- END IMAGE PACKAGES -->
<!-- BOOTSTRAPING 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="BIOS">
      <package name="openSUSE-release-appliance-custom"/>
    </packages>

    <packages type="bootstrap" profiles="KVM">
      <package name="openSUSE-release-appliance-kvm"/>
    </packages>

    <packages type="bootstrap" profiles="RaspberryPi">
      <package name="openSUSE-release-appliance-custom"/>
    </packages>
<!-- END BOOTSTRAPING PACKAGES -->
</image>
openSUSE Build Service is sponsored by