File Images.kiwi.in of Package JeOS

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

#define QUOTED(x) #x
#define QUOTED_EXPAND(x) QUOTED(x)

/*
 *
 */

#define TYPE_ROOTFS 0
#define TYPE_JEOS 1
#define TYPE_XFCE 2
#define TYPE_E20 3
#define TYPE_LXQT 4
#define TYPE_X11 5
#define TYPE_KDE 6
#define TYPE_GNOME 7
#define TYPE_PHOSH 8
#define TYPE_PLAMO 9

#define VERSION Tumbleweed
#if IS_ARCH_x86_64
#define SUFFIX x86_64
#elif IS_ARCH_riscv64
#define SUFFIX RISC-V
#else
#define SUFFIX ARM
#endif
#if IS_FLAVOR_rootfs
#define IMAGENAME openSUSE-VERSION-SUFFIX-IMAGE_TYPE_STRING.ARCH-FLAVOR_TYPE
#else
#define IMAGENAME openSUSE-VERSION-SUFFIX-IMAGE_TYPE_STRING-FLAVOR_TYPE
#endif
#define IMAGENAME_STR QUOTED_EXPAND(IMAGENAME)

#define PKG_TAG(x) <package name=QUOTED_EXPAND(x)/>
#define PKG_BOOT_TAG(x) <package name=QUOTED_EXPAND(x) bootinclude="true"/>

/*
 * Define the specification
 */

#define SPECIFICATION openSUSE VERSION IMAGE_TYPE_STRING image for SUFFIX (FLAVOR_TYPE) boards

/*
 * Define the bootkernel (default is default)
 */

/* Broadcom */
#if IS_FLAVOR_raspberrypi1
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT dwc_otg.lpm_enable=0 console=ttyAMA0,115200n8 kgdboc=ttyAMA0,115200 rootflags=commit=120,data=writeback"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT dwc_otg.lpm_enable=0 console=ttyAMA0,115200n8 kgdboc=ttyAMA0,115200 console=tty rootflags=commit=120,data=writeback"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(raspberrypi-firmware) \
                         PKG_BOOT_TAG(raspberrypi-firmware-config) \
                         PKG_BOOT_TAG(raspberrypi-firmware-dt) \
                         PKG_BOOT_TAG(u-boot-rpi)
#  define USE_EFI 1
#  define EFIPARTSIZE "64" // boo#1164817
#elif IS_FLAVOR_raspberrypi2
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT dwc_otg.lpm_enable=0 console=ttyAMA0,115200n8 kgdboc=ttyAMA0,115200 rootflags=commit=120,data=writeback"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT dwc_otg.lpm_enable=0 console=ttyAMA0,115200n8 kgdboc=ttyAMA0,115200 console=tty rootflags=commit=120,data=writeback"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(raspberrypi-firmware) \
                         PKG_BOOT_TAG(raspberrypi-firmware-config) \
                         PKG_BOOT_TAG(raspberrypi-firmware-dt) \
                         PKG_BOOT_TAG(u-boot-rpi2) \
                         PKG_TAG(bcm43xx-firmware)
#  define USE_EFI 1
#  define EFIPARTSIZE "64" // boo#1164817
#elif IS_FLAVOR_raspberrypi // Image for RPi3 and RPi4
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(raspberrypi-firmware) \
                         PKG_BOOT_TAG(raspberrypi-firmware-config) \
                         PKG_BOOT_TAG(raspberrypi-firmware-dt) \
                         PKG_BOOT_TAG(u-boot-rpiarm64) \
                         PKG_TAG(raspberrypi-eeprom) \
                         PKG_TAG(bcm43xx-firmware)
/* temporary workaround until it is understood why boot/dtb-kernelv/* is not on /boot */
#undef USE_BTRFS
#  define USE_EFI 1
#  define EFIPARTSIZE "64" // boo#1164817

/* Texas Instruments */
#elif IS_FLAVOR_panda
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS2,115200n8 vram=16M"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS2,115200n8 vram=16M"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-omap4panda) \
                         PKG_BOOT_TAG(dtb-omap4)
/* temporary workaround until it is understood why boot/dtb-kernelv/* is not on /boot */
#undef USE_BTRFS
#  define USE_EFI 1
#elif IS_FLAVOR_beagle
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS2,115200n8 vram=16M"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS2,115200n8 vram=16M"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-omap3beagle) \
			PKG_BOOT_TAG(dtb-omap3)
/* temporary workaround until it is understood why boot/dtb-kernelv/* is not on /boot */
#undef USE_BTRFS
#  define USE_EFI 1
#elif IS_FLAVOR_beaglebone
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-am335xevm) \
                         PKG_BOOT_TAG(dtb-am335x)
#  define USE_BTRFS 1
#  define USE_EFI 1
#elif IS_FLAVOR_wega
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 cma=32M"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 cma=32M"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-pcm051rev3) \
                         PKG_BOOT_TAG(dtb-am335x)
#  define USE_BTRFS 1
#  define USE_EFI 1

/* Calxeda */
#elif IS_FLAVOR_midway
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyAMA0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyAMA0,115200n8"
#  define EXTRA_PACKAGES

/* Marvell */
#elif IS_FLAVOR_cubox
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(dtb-dove)
#elif IS_FLAVOR_clearfog
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-clearfog) \
                         PKG_BOOT_TAG(dtb-armada-388)
#  define USE_EFI 1

/* NXP i.MX */
#elif IS_FLAVOR_loco
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttymxc0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttymxc0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-mx53loco) \
                         PKG_BOOT_TAG(dtb-imx5)
#elif IS_FLAVOR_cuboxi
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttymxc0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttymxc0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-mx6cuboxi) \
                         PKG_BOOT_TAG(dtb-imx6) \
                         PKG_TAG(bcm43xx-firmware)
#  define USE_EFI 1
#elif IS_FLAVOR_sabrelite
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttymxc1,115200"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttymxc1,115200"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-mx6qsabrelite) \
                         PKG_BOOT_TAG(dtb-imx6)
#  define USE_EFI 1
#elif IS_FLAVOR_udooneo
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttymxc0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttymxc0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-udooneo) \
                         PKG_BOOT_TAG(dtb-imx6)
#  define USE_EFI 1

/* Samsung Exynos */
#elif IS_FLAVOR_odroid
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttySAC1,115200n8 console=tty"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttySAC1,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-odroid) \
                         PKG_BOOT_TAG(dtb-exynos4) \
			 PKG_BOOT_TAG(odroid-firmware)
#  define USE_EFI 1
#elif IS_FLAVOR_arndale
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "zswap.enabled=1 KERNEL_CMDLINE_DEFAULT console=ttySAC2,115200n8"
#  define KERNEL_CMDLINE_GFX "zswap.enabled=1 KERNEL_CMDLINE_DEFAULT console=ttySAC2,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-arndale) \
                         PKG_BOOT_TAG(dtb-exynos5)
#  define USE_EFI 1
#elif IS_FLAVOR_chromebook
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttySAC3,115200n8 console=tty"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttySAC3,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-snow) \
			PKG_BOOT_TAG(dtb-exynos5) \
			PKG_TAG(vboot) \
			PKG_TAG(dtc) \
                        PKG_BOOT_TAG(gptfdisk)
#  define USE_EFI 1
#elif IS_FLAVOR_odroidxu3
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttySAC2,115200n8 console=tty"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttySAC2,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-odroid-xu3) \
                         PKG_BOOT_TAG(dtb-exynos5) \
			 PKG_BOOT_TAG(odroidxu3-firmware)
#  define USE_EFI 1

/* Allwinner */
#elif IS_FLAVOR_cubieboard
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-cubieboard) \
                         PKG_BOOT_TAG(dtb-sun4i)
#  define USE_EFI 1
#elif IS_FLAVOR_olinuxinolime
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-a10-olinuxino-lime) \
                         PKG_BOOT_TAG(dtb-sun4i)
#  define USE_EFI 1
#elif IS_FLAVOR_a13olinuxino
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-a13-olinuxino) \
                         PKG_BOOT_TAG(dtb-sun5i)
#  define USE_EFI 1
#elif IS_FLAVOR_cubieboard2
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-cubieboard2) \
                         PKG_BOOT_TAG(dtb-sun7i)
#  define USE_EFI 1
#elif IS_FLAVOR_cubietruck
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-cubietruck) \
                         PKG_BOOT_TAG(dtb-sun7i) \
                         PKG_TAG(bcm43xx-firmware)
#  define USE_EFI 1
#elif IS_FLAVOR_bananapi
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-bananapi) \
                         PKG_BOOT_TAG(dtb-sun7i)
#  define USE_EFI 1
#elif IS_FLAVOR_a20olinuxinolime
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-a20-olinuxino-lime) \
                         PKG_BOOT_TAG(dtb-sun7i)
#  define USE_EFI 1
#elif IS_FLAVOR_olinuxinolime2
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-a20-olinuxino-lime2) \
                         PKG_BOOT_TAG(dtb-sun7i)
#  define USE_EFI 1
#elif IS_FLAVOR_a20olinuxinomicro
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-a20-olinuxinomicro) \
                         PKG_BOOT_TAG(dtb-sun7i)
#  define USE_EFI 1
#elif IS_FLAVOR_nanopineo
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-nanopineo) \
                         PKG_BOOT_TAG(dtb-sun8i)
#  define USE_EFI 1
#elif IS_FLAVOR_nanopineoair
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-nanopineoair) \
                         PKG_BOOT_TAG(dtb-sun8i)
#  define USE_EFI 1
/* Banana Pi M2+ */
#elif IS_FLAVOR_sinovoipbpim2plus
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-bananapim2plush3) \
                         PKG_BOOT_TAG(dtb-sun8i)
#  define USE_EFI 1
#elif IS_FLAVOR_sinovoipbpim2zero
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-bananapim2zero) \
                         PKG_BOOT_TAG(dtb-sun8i)
#  define USE_EFI 1
#elif IS_FLAVOR_pine64
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-pine64plus) \
                         PKG_BOOT_TAG(dtb-allwinner)
#undef USE_BTRFS
#  define USE_EFI 1

#elif IS_FLAVOR_orangepizero2
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-orangepizero2) \
                         PKG_BOOT_TAG(dtb-allwinner)
#undef USE_BTRFS
#  define USE_EFI 1

#elif IS_FLAVOR_pinebookpro
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-pinebook-pro-rk3399) \
                         PKG_BOOT_TAG(dtb-rockchip) \
                         PKG_TAG(bcm43xx-firmware)
#undef USE_BTRFS
#  define USE_EFI 1

#elif IS_FLAVOR_pinephone
#  define BOOTKERNEL pinephone
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 console=tty0"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-pinephone) \
                         PKG_BOOT_TAG(dtb-allwinner-pinephone) \
                         PKG_TAG(kernel-firmware-ov5640) \
                         PKG_TAG(kernel-firmware-anx7688) \
                         PKG_TAG(kernel-firmware-rtl8723cs)
#  define NO_SWAP 1
#  define USE_BTRFS

#elif IS_FLAVOR_rockpro64
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-rockpro64-rk3399) \
                         PKG_BOOT_TAG(dtb-rockchip)
#undef USE_BTRFS
#  define USE_EFI 1

#elif IS_FLAVOR_nanopim4b
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-nanopi-m4b-rk3399) \
                         PKG_BOOT_TAG(dtb-rockchip) \
                         PKG_TAG(bcm43xx-firmware)
#undef USE_BTRFS
#  define USE_EFI 1

#elif IS_FLAVOR_nanopct4
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-nanopc-t4-rk3399) \
                         PKG_BOOT_TAG(dtb-rockchip) \
                         PKG_TAG(bcm43xx-firmware)
#undef USE_BTRFS
#  define USE_EFI 1

/* MediaTek Bananapi R2 */
#elif IS_FLAVOR_bananapiR2
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS2,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS2,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-mt7623nbpir2) \
                         PKG_BOOT_TAG(bananapir2-firmware) \
                         PKG_BOOT_TAG(dtb-mt76)
#  define USE_BTRFS
#  define USE_EFI 1

/* Nvidia Tegra */
#elif IS_FLAVOR_paz00
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 console=tty"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-paz00) \
                         PKG_BOOT_TAG(dtb-tegra2)
#  define USE_EFI 1

/* Hisilicon */
#elif IS_FLAVOR_hip04d01
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES
#  define USE_BTRFS
#  define USE_EFI 1
#elif IS_FLAVOR_hip05d02
#  define BOOTKERNEL hip05d02
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define EXTRA_PACKAGES
#  define USE_BTRFS
#  define USE_EFI 1
#elif IS_FLAVOR_hikey
#  define BOOTKERNEL hikey
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyAMA3,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyAMA3,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(dtb-hisilicon)
/* temporary workaround until it is understood why boot/dtb-kernelv/* is not on /boot */
#undef USE_BTRFS
#  define USE_EFI 1
#elif IS_FLAVOR_hikey960
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyAMA6,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyAMA6,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(dtb-hisilicon) \
                         PKG_TAG(kernel-firmware-bluetooth) \
                         PKG_TAG(kernel-firmware-ti)
/* temporary workaround until it is understood why boot/dtb-kernelv/* is not on /boot */
#undef USE_BTRFS
#  define USE_EFI 1

#elif IS_FLAVOR_m400
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,9600n8r"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,9600n8r"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(dtb-m400)

/* Intel (Altera) */
#elif IS_FLAVOR_socfpgade0nanosoc
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-socfpgade0nanosoc)
#  define USE_EFI 1

/* Rockchip */
#elif IS_FLAVOR_fireflyrk3288
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS2,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS2,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-firefly-rk3288) \
                         PKG_BOOT_TAG(dtb-rk3)
#  define USE_EFI 1
#elif IS_FLAVOR_tinker
#  define BOOTKERNEL lpae
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS2,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS2,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-tinker-rk3288) \
                         PKG_BOOT_TAG(dtb-rk3)
#  define USE_EFI 1

/* Amlogic */
#elif IS_FLAVOR_nanopik2
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyAML0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(dtb-amlogic) \
                         PKG_TAG(bcm43xx-firmware)
#  define USE_EFI 1
#elif IS_FLAVOR_odroidc2
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyAML0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(odroidc2-firmware) \
                         PKG_BOOT_TAG(dtb-amlogic)
#  define USE_EFI 1

#elif IS_FLAVOR_odroidc4
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(odroidc4-firmware) \
                         PKG_BOOT_TAG(dtb-amlogic)
#  define USE_EFI 1

#elif IS_FLAVOR_radxazero
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(dtb-amlogic) \
                         PKG_TAG(bcm43xx-firmware)
#  define USE_EFI 1

#elif IS_FLAVOR_rock64
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-rock64-rk3328) \
                         PKG_BOOT_TAG(dtb-rockchip)
#  define USE_BTRFS
#  define USE_EFI 1

#elif IS_FLAVOR_rockpi4
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-rock-pi-4-rk3399) \
                         PKG_BOOT_TAG(dtb-rockchip)
#  define USE_BTRFS
#  define USE_EFI 1

#elif IS_FLAVOR_ultra96
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT "
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT "
#  define EXTRA_PACKAGES PKG_BOOT_TAG(zynqmp-bootbin)
#  define USE_BTRFS
#  define USE_EFI 1

#elif IS_FLAVOR_zynqmp
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(zynqmp-bootbin)
#  define USE_BTRFS
#  define USE_EFI 1
#  define EFIPARTSIZE "42" // for big bitstreams

#elif IS_FLAVOR_zturn
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-zynqzturnv5) \
                         PKG_BOOT_TAG(dtb-zynq)
/* temporary workaround until it is understood why boot/dtb-kernelv/* is not on /boot */
#undef USE_BTRFS
#  define USE_EFI 1

#elif IS_FLAVOR_hifiveunleashed
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttySIF0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttySIF0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-sifiveunleashed) \
                         PKG_BOOT_TAG(dtb-sifive)
#  define USE_EFI 1
#elif IS_FLAVOR_hifiveunmatched
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttySIF0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttySIF0,115200n8"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-sifiveunmatched) \
                         PKG_BOOT_TAG(dtb-sifive)
#  define USE_EFI 1
#elif IS_FLAVOR_starfivejh7100
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8"
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT console=ttyS0,115200n8 console=tty"
#  define EXTRA_PACKAGES PKG_BOOT_TAG(dtb-starfive)
#  define USE_EFI 1
#elif IS_FLAVOR_efi
#ifdef USE_VMX
#  define BOOTKERNEL default-base
#else
#  define BOOTKERNEL default
#endif
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT "
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT "
#ifdef USE_VMX
#  define EXTRA_PACKAGES \
                         PKG_TAG(qemu-guest-agent) \
                         PKG_TAG(cloud-init) \
                         PKG_TAG(cloud-init-config-suse)
#else
#if IS_ARCH_aarch64
#  define EXTRA_PACKAGES \
                         PKG_TAG(dtb-amlogic) \
                         PKG_TAG(dtb-marvell) \
                         PKG_TAG(dtb-nvidia)
#elif IS_ARCH_riscv64
#  define EXTRA_PACKAGES PKG_TAG(u-boot-qemu-riscv64smode)
#else
#  define EXTRA_PACKAGES
#endif
#endif
#  define USE_BTRFS
#  define USE_EFI 1
#if IS_ARCH_riscv64
/* FIXME: qemu-linux-user doesn't support BTRFS ioctls. */
#undef USE_BTRFS
#endif

/* Fallback */
#else
#  define BOOTKERNEL default
#  define KERNEL_CMDLINE_SER "KERNEL_CMDLINE_DEFAULT "
#  define KERNEL_CMDLINE_GFX "KERNEL_CMDLINE_DEFAULT "
#  define EXTRA_PACKAGES
#endif

/* Use the respective command line syntax */
#if (IMAGE_TYPE == TYPE_X11 || IMAGE_TYPE == TYPE_XFCE || IMAGE_TYPE == TYPE_E20 || IMAGE_TYPE == TYPE_LXQT || IMAGE_TYPE == TYPE_PHOSH || IMAGE_TYPE == TYPE_PLAMO)
#define KERNEL_CMDLINE_STR KERNEL_CMDLINE_GFX
#else
#define KERNEL_CMDLINE_STR KERNEL_CMDLINE_SER
#endif

#ifndef EFIPARTSIZE
#define EFIPARTSIZE "16"
#endif

#if (!IS_FLAVOR_rootfs)
/* KIWI_NG needs EFI config, so use it for non-efi u-boot too. */
#ifndef USE_EFI
#define USE_EFI 1
#define USE_BOOT_SCR 1
#endif
#endif

<image schemaversion="6.1" name=IMAGENAME_STR>
	<!--

	*****************************************************************************
	*****************************************************************************

	The *.kiwi files are autogenerated, please edit Images.kiwi.in instead!

	  sh pre_checkin.sh

	re-generates the *.kiwi file!

	*****************************************************************************
	*****************************************************************************
	-->
	<description type="system">
#if IS_FLAVOR_pinephone
               <author>Adrian Campos Garrido</author>
               <contact>adriancampos@teachelp.com</contact>
#else
		<author>Marcus Sch\u00e4fer</author>
		<contact>ms@suse.com</contact>
#endif
		<specification>
			SPECIFICATION
		</specification>
	</description>
#if IS_ARCH_armv6
        <!-- OBS-ExclusiveArch: armv6l armv6hl -->
#elif IS_ARCH_armv7
        <!-- OBS-ExclusiveArch: armv7l armv7hl -->
#else
        <!-- OBS-ExclusiveArch: ARCH -->
#endif
        <preferences>
#if IS_FLAVOR_rootfs
    <type image="tbz" primary="true"/>
#else
#ifdef USE_VMX
    <type image="vmx"
        format="qcow2"
#else
    <type image="oem"
        initrd_system="dracut"
#endif
        /* XXX Add spare partition for swap? */
#ifdef USE_BTRFS
        filesystem="btrfs" 
#if !IS_FLAVOR_pinephone
            fsmountoptions="compress=lzo,autodefrag"
#else
            fsmountoptions="autodefrag"
#endif
            btrfs_root_is_snapshot="true"
            btrfs_quota_groups="true"
            /* Merge /boot partition in / main partition since it is all btrfs - fix boo#1164310 */
            bootpartition="false"
#else
            filesystem="ext4" fsmountoptions="noatime,nobarrier"
#endif
#if IS_FLAVOR_chromebook
        /* Create a spare partition of 8MB */
        spare_part="8"
#endif
#ifdef USE_EFI
        bootloader="grub2"
        firmware="efi"
        /* The EFI partition can easily hold grub2 with only 2MB */
        efipartsize=EFIPARTSIZE
#if IS_FLAVOR_zturn
        efiparttable="msdos"
#endif
#else
        bootloader="custom"
#endif

	/* We want this one only for targets which need boot.scr */
#ifdef USE_BOOT_SCR
        editbootconfig="uboot-image-FLAVOR_TYPE-setup"
#endif
	/* We want this one for EFI as well - it generates the startup.nsh */
        editbootinstall="uboot-image-FLAVOR_TYPE-install"
        kernelcmdline=KERNEL_CMDLINE_STR
#ifdef USE_PXE
        installpxe="true"
#endif
#if IS_FLAVOR_rock64 || IS_FLAVOR_rockpi4
        disk_start_sector="32768"
#elif IS_FLAVOR_zturn
    /* fdisk issue in kiwi: https://github.com/OSInside/kiwi/issues/1749 */
    /* Do not set disk_start_sector="" until this is resolved */
#else
        disk_start_sector="8192"
#endif
	>
        <oemconfig>
#ifdef NO_SWAP
           <oem-swap>false</oem-swap>
#else
           <oem-swap>true</oem-swap>
           <oem-swapsize>500</oem-swapsize>
#endif
           <oem-skip-verify>true</oem-skip-verify>
        </oemconfig>
#ifdef USE_BTRFS
        <systemdisk>
            <volume name="home"/>
            <volume name="root"/>
            <volume name="tmp"/>
            <volume name="opt"/>
            <volume name="srv"/>
#ifdef USE_EFI
#if IS_ARCH_x86_64
            <volume name="boot/grub2/i386-pc"/>
            <volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/>
#elif IS_ARCH_aarch64
            <volume name="boot/grub2/arm64-efi" mountpoint="boot/grub2/arm64-efi"/>
#elif IS_ARCH_armv7
            <volume name="boot/grub2/arm-efi" mountpoint="boot/grub2/arm-efi"/>
#elif IS_ARCH_riscv64
            <volume name="boot/grub2/riscv64-efi" mountpoint="boot/grub2/riscv64-efi"/>
#endif
#endif
            <volume name="usr/local"/>
            <volume name="var" copy_on_write="false"/>
        </systemdisk>
#endif
   </type>
#endif
		<version>CHANGED</version>
		<packagemanager>zypper</packagemanager>
		<locale>en_US</locale>
		<keytable>us</keytable>
		<timezone>Europe/Berlin</timezone>
		<rpm-excludedocs>true</rpm-excludedocs>
                <bootloader-theme>openSUSE</bootloader-theme>
		<bootsplash-theme>bgrt</bootsplash-theme>
	</preferences>
	<users group="root">
		<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root"/>
	</users>

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

#if IS_ARCH_x86_64
        <repository type="rpm-md" priority="5">
            <source path="obs://openSUSE:Factory/standard"/>
        </repository>
#endif
	<packages type="bootstrap">
PKG_BOOT_TAG(kernel-BOOTKERNEL)
#ifdef IS_LEAP
<!-- Since Leap 15.3, kernel is split in multiple packages -->
#ifndef USE_VMX
<!-- VMX uses kernel-default-base which has no -{extra,optional} -->
PKG_BOOT_TAG(kernel-BOOTKERNEL-extra)
PKG_BOOT_TAG(kernel-BOOTKERNEL-optional)
#endif
#endif
EXTRA_PACKAGES
#include "packagelist.inc"
#if !IS_FLAVOR_rootfs && defined(CONTRIB_REPO)
<!-- provide contrib repo information inside the rootfs -->
         <archive name="contrib-repo-FLAVOR_TYPE.tgz" bootinclude="true"/>
#endif
	</packages>
	<packages type="delete">
<!-- not needed at runtime, but removing would happen too early
                <package name="qemu-linux-user-arm" />
-->
	</packages>
	<packages type="image">
		<package name="dracut-kiwi-oem-repart"/>
		<package name="live-add-yast-repos"/>
#ifdef USE_PXE
		<package name="dracut-kiwi-oem-dump"/>
#endif
	</packages>
</image>
openSUSE Build Service is sponsored by