1
0

- Grub package is grub2-arm64-efi, not grub2-arm-efi

OBS-URL: https://build.opensuse.org/package/show/devel:microos:images/openSUSE-MicroOS?expand=0&rev=59
This commit is contained in:
2024-09-03 14:13:20 +00:00
committed by Git OBS Bridge
commit b3c2d43c13
13 changed files with 2107 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

17
LICENSE Normal file
View File

@@ -0,0 +1,17 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

8
_constraints Normal file
View File

@@ -0,0 +1,8 @@
<constraints>
<hardware>
<disk>
<size unit="G">20</size>
</disk>
</hardware>
</constraints>

33
_multibuild Normal file
View File

@@ -0,0 +1,33 @@
<multibuild>
<!-- Special case: Pi2, VBox only get plain MicroOS -->
<flavor>RaspberryPi2</flavor>
<flavor>VirtualBox</flavor>
<!--
for a in kvm-and-xen VMware MS-HyperV OpenStack-Cloud Pine64 Rock64 RaspberryPi Vagrant hardware; do
for f in "" "ContainerHost-"; do
printf "\t<flavor>%s%s</flavor>\n" $f $a
done
done
-->
<flavor>kvm-and-xen</flavor>
<flavor>ContainerHost-kvm-and-xen</flavor>
<flavor>VMware</flavor>
<flavor>ContainerHost-VMware</flavor>
<flavor>MS-HyperV</flavor>
<flavor>ContainerHost-MS-HyperV</flavor>
<flavor>OpenStack-Cloud</flavor>
<flavor>ContainerHost-OpenStack-Cloud</flavor>
<flavor>Pine64</flavor>
<flavor>ContainerHost-Pine64</flavor>
<flavor>Rock64</flavor>
<flavor>ContainerHost-Rock64</flavor>
<flavor>RaspberryPi</flavor>
<flavor>ContainerHost-RaspberryPi</flavor>
<flavor>Vagrant</flavor>
<flavor>ContainerHost-Vagrant</flavor>
<flavor>SelfInstall</flavor>
<flavor>ContainerHost-SelfInstall</flavor>
<flavor>DigitalOcean-Cloud</flavor>
<flavor>kvm-and-xen-sdboot</flavor>
<flavor>kvm-and-xen-grub-bls</flavor>
</multibuild>

279
config.sh Normal file
View File

@@ -0,0 +1,279 @@
#!/bin/bash
# Copyright (c) 2020 SUSE LLC
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
set -euxo pipefail
echo "Configure image: [$kiwi_iname]-[$kiwi_profiles]..."
# Systemd controls the console font now
echo FONT="eurlatgr.psfu" >> /etc/vconsole.conf
#======================================
# prepare for setting root pw, timezone
#--------------------------------------
echo "** reset machine settings"
rm -f /etc/machine-id \
/var/lib/zypp/AnonymousUniqueId \
/var/lib/systemd/random-seed
#======================================
# Specify default systemd target
#--------------------------------------
baseSetRunlevel multi-user.target
#======================================
# Import trusted rpm keys
#--------------------------------------
suseImportBuildKey
#======================================
# Set hostname by DHCP
#--------------------------------------
baseUpdateSysConfig /etc/sysconfig/network/dhcp DHCLIENT_SET_HOSTNAME yes
# Add repos from /etc/YaST2/control.xml
if [ -x /usr/sbin/add-yast-repos ]; then
add-yast-repos
zypper --non-interactive rm -u live-add-yast-repos
fi
# Adjust zypp conf
sed -i 's/^multiversion =.*/multiversion =/g' /etc/zypp/zypp.conf
#=====================================
# Configure snapper
#-------------------------------------
if [ "${kiwi_btrfs_root_is_snapshot-false}" = 'true' ]; then
echo "creating initial snapper config ..."
cp /etc/snapper/config-templates/default /etc/snapper/configs/root \
|| cp /usr/share/snapper/config-templates/default /etc/snapper/configs/root
baseUpdateSysConfig /etc/sysconfig/snapper SNAPPER_CONFIGS root
# Adjust parameters
sed -i'' 's/^TIMELINE_CREATE=.*$/TIMELINE_CREATE="no"/g' /etc/snapper/configs/root
sed -i'' 's/^NUMBER_LIMIT=.*$/NUMBER_LIMIT="2-10"/g' /etc/snapper/configs/root
sed -i'' 's/^NUMBER_LIMIT_IMPORTANT=.*$/NUMBER_LIMIT_IMPORTANT="4-10"/g' /etc/snapper/configs/root
fi
#=====================================
# Enable chrony if installed
#-------------------------------------
if [ -f /etc/chrony.conf ]; then
systemctl enable chronyd
fi
# Enable jeos-firstboot if installed, disabled by combustion/ignition
if rpm -q --whatprovides jeos-firstboot >/dev/null; then
mkdir -p /var/lib/YaST2
touch /var/lib/YaST2/reconfig_system
systemctl enable jeos-firstboot.service
fi
# The %post script can't edit /etc/fstab sys due to https://github.com/OSInside/kiwi/issues/945
# so use the kiwi custom hack
cat >/etc/fstab.script <<"EOF"
#!/bin/sh
set -eux
/usr/sbin/setup-fstab-for-overlayfs
# If /var is on a different partition than /...
if [ "$(findmnt -snT / -o SOURCE)" != "$(findmnt -snT /var -o SOURCE)" ]; then
# ... set options for autoexpanding /var
gawk -i inplace '$2 == "/var" { $4 = $4",x-growpart.grow,x-systemd.growfs" } { print $0 }' /etc/fstab
fi
EOF
cat >>/etc/fstab.script <<"EOF"
# Relabel /etc. While kiwi already relabelled it earlier, there are some files created later (boo#1210604).
# The "gawk -i inplace" above also removes the label on /etc/fstab.
if [ -e /etc/selinux/config ]; then
. /etc/selinux/config
touch /etc/sysconfig/bootloader # Make sure this exists so it gets labelled
setfiles -e /proc -e /sys -e /dev /etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts /etc
fi
EOF
chmod a+x /etc/fstab.script
# To make x-systemd.growfs work from inside the initrd
cat >/etc/dracut.conf.d/50-microos-growfs.conf <<"EOF"
install_items+=" /usr/lib/systemd/systemd-growfs "
EOF
#======================================
# Disable recommends on virtual images (keep hardware supplements, see bsc#1089498)
#--------------------------------------
sed -i 's/.*solver.onlyRequires.*/solver.onlyRequires = true/g' /etc/zypp/zypp.conf
#======================================
# Disable installing documentation
#--------------------------------------
sed -i 's/.*rpm.install.excludedocs.*/rpm.install.excludedocs = yes/g' /etc/zypp/zypp.conf
# # we need this for trans file triggers
# echo "techpreview.ZYPP_SINGLE_RPMTRANS = 1" >> /etc/zypp/zypp.conf
#======================================
# Add default kernel boot options
#--------------------------------------
serialconsole='console=ttyS0,115200'
[[ "$kiwi_profiles" == *"RaspberryPi2" ]] && serialconsole='console=ttyAMA0,115200'
[[ "$kiwi_profiles" == *"Rock64" ]] && serialconsole='console=ttyS2,1500000'
cmdline=('quiet' 'systemd.show_status=yes' "${serialconsole}" 'console=tty0')
rpm -q wicked && cmdline+=('net.ifnames=0')
ignition_platform='metal'
case "${kiwi_profiles}" in
*kvm*) ignition_platform='qemu' ;;
*DigitalOcean*) ignition_platform='digitalocean' ;;
*VMware*) ignition_platform='vmware' ;;
*OpenStack*) ignition_platform='openstack' ;;
*VirtualBox*) ignition_platform='virtualbox' ;;
*HyperV*) ignition_platform='metal'
cmdline+=('rootdelay=300') ;;
*Pine64*|*RaspberryPi*|*Rock64*|*Vagrant*) ignition_platform='metal' ;;
# Use autodetection on selfinstall. The first boot doesn't use the grub
# cmdline anyway, it's started with kexec using kiwi's builtin default.
*SelfInstall*) ignition_platform='' ;;
*) echo "Unhandled profile?"
exit 1
;;
esac
if [ -n "${ignition_platform}" ]; then
cmdline+=("ignition.platform.id=${ignition_platform}")
fi
#======================================
# If SELinux is installed, configure it like transactional-update setup-selinux
#--------------------------------------
if [[ -e /etc/selinux/config ]]; then
cmdline+=("security=selinux selinux=1")
# Adjust selinux config
sed -i -e 's|^SELINUX=.*|SELINUX=enforcing|g' \
-e 's|^SELINUXTYPE=.*|SELINUXTYPE=targeted|g' \
"/etc/selinux/config"
# Move an /.autorelabel file from initial installation to writeable location
test -f /.autorelabel && mv /.autorelabel /etc/selinux/.autorelabel
fi
if [ -e /etc/default/grub ]; then
sed -i "s#^GRUB_CMDLINE_LINUX_DEFAULT=.*\$#GRUB_CMDLINE_LINUX_DEFAULT=\"${cmdline[*]}\"#" /etc/default/grub
fi
#======================================
# Wicked specific configuration (in addition to the net.ifnames=0 above)
#--------------------------------------
if rpm -q wicked; then
# Enable DHCP on eth0
cat >/etc/sysconfig/network/ifcfg-eth0 <<EOF
BOOTPROTO='dhcp'
STARTMODE='auto'
EOF
# Workaround: Force network-legacy, network-wicked is not usable (boo#1182227)
if rpm -q combustion; then
# Modify module-setup.sh, but undo the modification on the first call
mv /usr/lib/dracut/modules.d/40network/module-setup.sh{,.orig}
sed 's#echo "kernel-network-modules $network_handler"$#echo kernel-network-modules network-legacy; mv /usr/lib/dracut/modules.d/40network/module-setup.sh{.orig,}#' \
/usr/lib/dracut/modules.d/40network/module-setup.sh.orig > /usr/lib/dracut/modules.d/40network/module-setup.sh
fi
else
systemctl enable NetworkManager
fi
#======================================
# Configure Pine64 specifics
#--------------------------------------
if [[ "$kiwi_profiles" == *"Pine64"* ]]; then
echo 'add_drivers+=" fixed sunxi-mmc axp20x-regulator axp20x-rsb "' > /etc/dracut.conf.d/sunxi_modules.conf
fi
#======================================
# Configure Raspberry Pi specifics, unless done by raspberrypi-firmware already (on TW)
#--------------------------------------
if [[ "$kiwi_profiles" == *"RaspberryPi"* ]] && ! [[ -e /usr/lib/dracut/dracut.conf.d/raspberrypi_modules.conf ]]; then
# Add necessary kernel modules to initrd (will disappear with bsc#1084272)
echo 'add_drivers+=" bcm2835_dma dwc2 "' > /etc/dracut.conf.d/raspberrypi_modules.conf
# Add necessary kernel modules to initrd (will disappear with boo#1162669)
echo 'add_drivers+=" pcie-brcmstb "' >> /etc/dracut.conf.d/raspberrypi_modules.conf
# Work around network issues
cat > /etc/modprobe.d/50-rpi3.conf <<-EOF
# Prevent too many page allocations (bsc#1012449)
options smsc95xx turbo_mode=N
EOF
cat > /usr/lib/sysctl.d/50-rpi3.conf <<-EOF
# Avoid running out of DMA pages for smsc95xx (bsc#1012449)
vm.min_free_kbytes = 2048
EOF
fi
#======================================
# Configure Vagrant specifics
#--------------------------------------
if [[ "$kiwi_profiles" == *"Vagrant"* ]]; then
# create vagrant user
useradd vagrant
# allow password-less sudo
echo "vagrant ALL=(ALL)NOPASSWD:ALL" > /etc/sudoers.d/vagrant
# add vagrant's insecure key
mkdir -p /home/vagrant/.ssh
chmod 0700 /home/vagrant/.ssh
cat > /home/vagrant/.ssh/authorized_keys << EOF
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
EOF
chmod 0600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant
fi
#======================================
# Configure FDE/BLS specifics
#--------------------------------------
# [[ "$kiwi_profiles" == *"kvm-and-xen-"* ]]
if rpm -q sdbootutil; then
for d in /usr/lib/modules/*; do
test -d "$d" || continue
depmod -a "${d##*/}"
done
ENTRY_TOKEN=$(. /usr/lib/os-release; echo $ID)
mkdir -p /etc/kernel
echo "$ENTRY_TOKEN" > /etc/kernel/entry-token
# FIXME: kiwi needs /boot/efi to exist before syncing the disk image
mkdir -p /boot/efi
echo "${cmdline[*]}" > /etc/kernel/cmdline
rpm -q systemd-boot && loader_type="systemd-boot"
rpm -q grub2 && loader_type="grub2-bls"
echo "LOADER_TYPE=\"${loader_type}\"" >> /etc/sysconfig/bootloader
fi

31
disk.sh Normal file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
set -euxo pipefail
[ -x /usr/bin/sdbootutil ] || exit 0
echo "####### BOOTLOADER INSTALL (disk.sh)"
# [[ "$kiwi_profiles" == *"kvm-and-xen-"* ]]
if rpm -q sdbootutil; then
rootuuid=$(findmnt / -n --output uuid)
sed -i -e "s,\$, root=UUID=$rootuuid," /etc/kernel/cmdline
arch="$(uname -m)"
case "$arch" in
aarch64) arch=aa64 ;;
x86_64) arch=x64 ;;
*) echo "Unknown arch $arch"; exit 1 ;;
esac
echo "install boot loader"
sdbootutil -v --no-random-seed --arch "$arch" --esp-path /boot/efi --entry-token=auto --no-variables install
echo "add kernels"
export hostonly_l=no # for dracut
sdbootutil -v --arch "$arch" --esp-path /boot/efi --entry-token=auto add-all-kernels
# Set a 5s timeout, the "hold a key down" method doesn't work effectively.
echo "timeout 5" >> /boot/efi/loader/loader.conf
rm -f /boot/mbrid
find /boot
fi
echo "####### ENDS BOOTLOADER INSTALLER (disk.sh)"

10
editbootinstall_mbr.sh Normal file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
set -euxo pipefail
[ "$(uname -m)" = 'x86_64' ] || exit 0
diskname="$1"
devname="$2"
loopdev="${devname%*p?}"
dd if=./usr/lib/uefi_mbr/uefi_mbr.bin of="$loopdev" conv=notrunc

39
editbootinstall_pine64.sh Normal file
View File

@@ -0,0 +1,39 @@
#!/bin/bash
set -euxo pipefail
diskname=$1
devname="$2"
loopname="${devname%*p?}"
loopdev=${loopname#/dev/mapper/*}
#==========================================
# The GPT spans the first 33 sectors, but we need to write our
# at sector 16. Shrink the GPT to only span 5 sectors
# (16 partitions) to give us some space.
#------------------------------------------
# echo -e 'x\ns\n16\nw\ny' > gdisk.tmp
# Shrink GPT does not work anymore, so let's use legacy MBR for now
cat > gdisk.tmp <<-'EOF'
x
r
g
t
1
c
w
y
EOF
dd if=$loopdev of=mbrid.bin bs=1 skip=440 count=4
gdisk $loopdev < gdisk.tmp
dd of=$loopdev if=mbrid.bin bs=1 seek=440 count=4
rm -f mbrid.bin
rm -f gdisk.tmp
#==========================================
# Installing All-in-one U-Boot/SPL
#------------------------------------------
echo "Installing All-in-one U-Boot/SPL..."
if ! dd if=boot/u-boot-sunxi-with-spl.bin of=$diskname bs=1024 seek=8 conv=notrunc; then
echo "Couldn't install SPL on $diskname"
exit 1
fi

31
editbootinstall_rock64.sh Normal file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
set -euxo pipefail
diskname=$1
devname="$2"
loopname="${devname%*p?}"
loopdev=${loopname#/dev/mapper/*}
echo "Installing idbloader..."
if ! dd if=boot/idbloader.img of=$diskname bs=512 seek=64 conv=notrunc; then
echo "Failed to install"
exit 1
fi
echo "Installing u-boot..."
if ! dd if=boot/u-boot.itb of=$diskname bs=512 seek=16384 conv=notrunc; then
echo "Failed to install"
exit 1
fi
echo "Installing startup.nsh..."
mkdir ./mnt-rock64
mount ${loopname}p1 ./mnt-rock64
echo "bootaa64" > mnt-rock64/startup.nsh
umount ./mnt-rock64
rmdir ./mnt-rock64

44
editbootinstall_rpi.sh Normal file
View File

@@ -0,0 +1,44 @@
#!/bin/bash
set -euxo pipefail
diskname=$1
devname="$2"
loopname="${devname%*p?}"
loopdev=${loopname#/dev/mapper/*}
#==========================================
# copy Raspberry Pi firmware to EFI partition
#------------------------------------------
echo "RPi EFI system, installing firmware on ESP"
mkdir -p ./mnt-pi
mount ${loopname}p1 ./mnt-pi
( cd boot/vc; tar c . ) | ( cd ./mnt-pi/; tar x )
umount ./mnt-pi
rmdir ./mnt-pi
#==========================================
# Change partition label type to MBR
#------------------------------------------
#
# The target system doesn't support GPT, so let's move it to
# MBR partition layout instead.
#
# Also make sure to set the ESP partition to type 0xc so that
# broken firmware (Rpi) detects it as FAT.
#
# Use tabs, "<<-" strips tabs, but no other whitespace!
cat > gdisk.tmp <<-'EOF'
x
r
g
t
1
c
w
y
EOF
dd if=$loopdev of=mbrid.bin bs=1 skip=440 count=4
gdisk $loopdev < gdisk.tmp
dd of=$loopdev if=mbrid.bin bs=1 seek=440 count=4
rm -f mbrid.bin
rm -f gdisk.tmp

758
openSUSE-MicroOS.changes Normal file
View File

@@ -0,0 +1,758 @@
-------------------------------------------------------------------
Tue Aug 27 11:48:44 UTC 2024 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Grub package is grub2-arm64-efi, not grub2-arm-efi
-------------------------------------------------------------------
Wed Jul 31 13:38:18 UTC 2024 - Alberto Planas Dominguez <aplanas@suse.com>
- Fix LOADER_TYPE population
- Rename *-grub image to *-grub-bls
- Comment techpreview feature
-------------------------------------------------------------------
Tue Jul 16 08:13:01 UTC 2024 - Alberto Planas Dominguez <aplanas@suse.com>
- Add /etc/sysconfig/bootloader LOADER_TYPE for grub2-bls and sd-boot
-------------------------------------------------------------------
Tue Jul 2 10:39:18 UTC 2024 - Alberto Planas Dominguez <aplanas@suse.com>
- Add grub2 FDE image
- Remove custom bootloader for the grub2 image, and use bls="true"
- Remove sdbootutil-scriptlets
-------------------------------------------------------------------
Wed Jun 19 09:32:16 UTC 2024 - Alberto Planas Dominguez <aplanas@suse.com>
- Refactor config.sh and disk.sh
-------------------------------------------------------------------
Fri Jun 7 11:02:21 UTC 2024 - Alberto Planas Dominguez <aplanas@suse.com>
- Add ignition to fde images
-------------------------------------------------------------------
Wed May 8 09:28:46 UTC 2024 - Fabian Vogt <fvogt@suse.com>
- Enable installpxe for SelfInstall
-------------------------------------------------------------------
Thu Mar 21 08:48:34 UTC 2024 - Ludwig Nussel <lnussel@suse.com>
- Add systemd-experimental for systemd-pcrlock support
- don't add snapshot to /etc/kernel/cmdline. Will change anyway
-------------------------------------------------------------------
Thu Feb 15 15:08:45 UTC 2024 - Ludwig Nussel <lnussel@suse.com>
- call sdbootutil --no-random-seed to avoid shipping random seed in the ESP
-------------------------------------------------------------------
Wed Dec 13 16:15:19 UTC 2023 - Ludwig Nussel <lnussel@suse.com>
- add dracut-pcr-signature to sdboot flavor
-------------------------------------------------------------------
Mon Nov 27 15:40:04 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Switch all images from vmx to oem to let kiwi resize / on boot
(boo#1217448)
-------------------------------------------------------------------
Tue Nov 14 16:08:34 UTC 2023 - Ludwig Nussel <lnussel@suse.com>
- Add disk-encryption-tool to sdboot image
-------------------------------------------------------------------
Thu Nov 2 12:53:34 UTC 2023 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Drop 'cputype-armv7' requirement for armv7
-------------------------------------------------------------------
Tue Oct 24 13:16:46 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- ... and remove it again. Confirmed to work, but (for now) we want
to avoid it.
-------------------------------------------------------------------
Mon Oct 23 10:29:58 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Install ignition on the sdboot image as well
-------------------------------------------------------------------
Tue Oct 17 14:39:09 UTC 2023 - Fabian Vogt <fvogt@suse.de>
- Set systemd-boot's default timeout to 5s
-------------------------------------------------------------------
Tue Oct 10 09:32:43 UTC 2023 - Ludwig Nussel <lnussel@suse.com>
- Fix aarch64 for real
-------------------------------------------------------------------
Thu Oct 5 12:22:10 UTC 2023 - Ludwig Nussel <lnussel@suse.de>
- remove onie
- fix aarch64 build
-------------------------------------------------------------------
Wed Sep 20 12:59:51 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Replace reference to the obsoleted ignition-dracut-grub2 package
-------------------------------------------------------------------
Wed Sep 20 11:46:48 UTC 2023 - Ludwig Nussel <lnussel@suse.de>
- add kvm-and-xen-sdboot flavor
-------------------------------------------------------------------
Thu Sep 7 11:34:33 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Use ignition platform autodection for the SelfInstall flavor
-------------------------------------------------------------------
Thu Aug 17 11:33:27 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Drop $ignition_firstboot and selfinstallreboot.service, no longer
needed with the new firstboot detection mechanism in combustion 1.2
-------------------------------------------------------------------
Wed Aug 9 08:43:26 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- The SelfInstall flavor is targeted at physical hardware, so add
patterns-microos-hardware
-------------------------------------------------------------------
Sun Jul 16 07:30:27 UTC 2023 - Matwey Kornilov <matwey.kornilov@gmail.com>
- Enable kvm-and-xen for armv7l
-------------------------------------------------------------------
Thu Jun 15 08:23:12 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Add patterns-base-bootloader explicitly
-------------------------------------------------------------------
Wed Jun 14 11:02:52 UTC 2023 - Ludwig Nussel <lnussel@suse.de>
- Don't use separate /var partition. SLE Micro doesn't have it either
- add cryptsetup and device-mapper to allow adding image encryption externally
-------------------------------------------------------------------
Wed Jun 14 08:00:02 UTC 2023 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Enable Hyper-V image for aarch64
-------------------------------------------------------------------
Fri May 26 07:11:16 UTC 2023 - Stefan Schubert <schubi@suse.com>
- Removed patterns-base-bootloader in order to not install grub
packages if other bootloaders are used.
-------------------------------------------------------------------
Wed Apr 19 09:40:50 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Relabel /etc in fstab.script to work around kiwi doing it
too early (boo#1210604)
-------------------------------------------------------------------
Tue Mar 28 06:45:42 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- config.sh: No longer use the btrfs storage driver, was changed in
libcontainers-common
-------------------------------------------------------------------
Tue Mar 7 14:49:19 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Include wireless-regdb on RPi images
-------------------------------------------------------------------
Thu Dec 29 08:57:55 UTC 2022 - Dominique Leuenberger <dleuenberger@suse.com>
- editbootinstall_*.sh: fix loopdev to work with new kiwi.
-------------------------------------------------------------------
Tue Nov 1 13:00:31 UTC 2022 - Moritz Volz <momivolz@gmail.com>
- Add SelfInstall flavor without container runtime
-------------------------------------------------------------------
Wed Jun 1 07:43:26 UTC 2022 - Richard Brown <rbrown@suse.com>
- Stop building Kubic and k3s flavours
-------------------------------------------------------------------
Mon May 30 09:59:43 UTC 2022 - Richard Brown <rbrown@suse.com>
- Remove k3s flavours (boo#1199285)
-------------------------------------------------------------------
Sun May 1 13:19:16 UTC 2022 - Matwey Kornilov <matwey.kornilov@gmail.com>
- Rock64 board perfectly works with GPT
- Fix console for Rock64 (boo#1198784)
-------------------------------------------------------------------
Thu Apr 14 15:09:57 UTC 2022 - Richard Brown <rbrown@suse.com>
- SelfInstall - remove swap partition to be consistent with other
image flavours and suitable for k8s hosting
-------------------------------------------------------------------
Thu Mar 17 12:05:55 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- config.sh: Enable jeos-firstboot iff installed
-------------------------------------------------------------------
Wed Mar 16 15:14:49 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Install image configuration tools on SelfInstall as well
- Add jeos-firstboot
-------------------------------------------------------------------
Wed Mar 2 15:40:51 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Run wicked specific code only if wicked is installed
- Don't delete the DBus machine-id, it's a symlink
-------------------------------------------------------------------
Mon Jan 31 14:29:23 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Add arm-trusted-firmware-rpi4 (bsc#1173489)
-------------------------------------------------------------------
Fri Jan 14 11:29:54 UTC 2022 - Richard Brown <rbrown@suse.com>
- Correct SelfInstall ignition_platform to 'metal'
- Force a full reboot on firstboot of SelfInstall to ensure ignition
doesn't get skipped by kiwi's regular kexec after OEM imaging
-------------------------------------------------------------------
Wed Nov 24 12:17:53 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Move kernelcmdline computation into config.sh
- Drop use of namedCollection completely
- Switch to SELinux
-------------------------------------------------------------------
Sat Nov 20 19:36:40 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
- Support new location of the snapper config templates
-------------------------------------------------------------------
Mon Jun 21 11:41:40 UTC 2021 - Richard Brown <rbrown@suse.com>
- Introduce k3s flavour to match SLE Micro 5.1
-------------------------------------------------------------------
Mon May 17 12:28:34 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Fix match of Pine64 in config.sh
- Set the libcontainers storage driver to btrfs
-------------------------------------------------------------------
Wed Apr 21 14:56:21 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Force network-legacy, network-wicked is not usable (boo#1182227)
-------------------------------------------------------------------
Fri Apr 9 00:11:04 UTC 2021 - Anthony Rabbito <hello@anthonyrabbito.com>
- Introduce ignition based DigitalOcean image.
-------------------------------------------------------------------
Fri Mar 5 10:58:15 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Add hostname explicitly to avoid busybox-hostname
-------------------------------------------------------------------
Fri Mar 5 10:09:01 UTC 2021 - Frederic Crozat <fcrozat@suse.com>
- Use new kiwi feature to have arch specific preferences and
therefore reduce the number of profiles / preferences.
- Enable openstack images for aarch64.
-------------------------------------------------------------------
Mon Feb 22 14:12:23 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Add an onie flavor including various scripts for installing it.
See README.onie for details
-------------------------------------------------------------------
Mon Feb 22 00:53:54 UTC 2021 - Neal Gompa <ngompa13@gmail.com>
- Use patterns-microos-base-zypper to pull Zypper in
-------------------------------------------------------------------
Wed Jan 20 14:34:15 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Update kiwi schemaversion to 7.2
- Some cleanup of config.sh
-------------------------------------------------------------------
Mon Jan 11 14:28:17 UTC 2021 - Alexandre Vicenzi <alexandre.vicenzi@suse.com>
- Add support for Rock64 board.
- Add patterns-microos-hardware to provide irqbalance for SBCs.
-------------------------------------------------------------------
Thu Dec 17 12:21:37 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Fixes for building with kiwi outside of OBS:
* Include ca-certificates-mozilla during bootstrap
* Add several packages to bootstrap to force zypper to pick the
right alternative
* Drop use of namedCollection, it's redundant anyway
* Drop udev from bootstrap, not needed
-------------------------------------------------------------------
Fri Dec 11 15:45:58 UTC 2020 - Richard Brown <rbrown@suse.com>
- Restore DHCLIENT_SET_HOSTNAME=yes from Apr 2019 as we no longer
have cloud-init taking care of the hostname
-------------------------------------------------------------------
Thu Dec 10 10:16:57 UTC 2020 - Richard Brown <rbrown@suse.com>
- Re-enable compress=lzo for Raspberry Pi
-------------------------------------------------------------------
Tue Dec 8 10:52:17 UTC 2020 - Richard Brown <rbrown@suse.com>
- Use 'systemd.show_status=yes' to ensure users see clear status
during image boots
-------------------------------------------------------------------
Thu Sep 17 11:27:21 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Drop rd.neednet=0, the dracut bug is fixed and network is opt-in now
-------------------------------------------------------------------
Wed Aug 19 13:09:26 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Fix whitespace
- Drop grub2-x86_64-xen and xen-libs, not needed
- Switch to kernel-firmware-all everywhere
-------------------------------------------------------------------
Wed Aug 5 14:14:52 UTC 2020 - Richard Brown <rbrown@suse.com>
- Add Controller-SelfInstall flavour for self installation on
Bare Metal
-------------------------------------------------------------------
Mon Jul 20 07:23:18 UTC 2020 - Dominique Leuenberger <dleuenberger@suse.com>
- Replace openSUSE-MicroOS-release-dvd with MicroOS-release-dvd:
the product has been renamed.
-------------------------------------------------------------------
Mon Jun 29 14:34:28 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Drop the /tmp subvolume in favor of tmpfs (boo#1173461)
- Sync config.sh with kiwi-templates-JeOS
- Drop bootsplash-theme, not used
-------------------------------------------------------------------
Thu Jun 18 16:06:24 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- use/rely on systemd presets for default enabled services
-------------------------------------------------------------------
Thu Jun 18 11:15:36 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Add combustion
-------------------------------------------------------------------
Thu Jun 4 09:29:19 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Use firmware="efi" for RPi2 (boo#1172473)
-------------------------------------------------------------------
Wed Jun 3 06:25:10 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Use console=ttyAMA0 for RPi2 (boo#1172417)
-------------------------------------------------------------------
Wed May 20 14:12:47 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- No microos_apparmor on plain MicroOS anymore (boo#1171747)
-------------------------------------------------------------------
Thu May 14 14:51:19 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- explicitly require bootloader pattern. Required due to cleanup of
the microos base pattern.
-------------------------------------------------------------------
Wed Mar 18 09:47:11 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Make check for kubelet in config.sh more generic to work after
the package rename
-------------------------------------------------------------------
Wed Mar 11 13:41:15 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Use new kiwi feature to set /var partition noCoW
-------------------------------------------------------------------
Tue Mar 3 10:35:08 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Move kernel-default to the common section
- Only use cloud-init on OpenStack-Cloud, it's still needed there
for meta-data like public ssh keys
- Drop ignition on OpenStack-Cloud, conflicts with ignition
- Drop drivers section, obsolete with dracut
-------------------------------------------------------------------
Thu Feb 20 15:08:44 UTC 2020 - Frederic Crozat <fcrozat@suse.com>
- Enable back ignition using qemu fw_cfg on kvm images on aarch64.
-------------------------------------------------------------------
Mon Feb 17 15:35:44 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Set rd.neednet=0 on all bare metal images as it's broken in
dracut currently (boo#1161438) and especially on RPi4 it can't be
worked around manually at all (no USB keyboard support in GRUB)
-------------------------------------------------------------------
Thu Feb 13 16:19:57 UTC 2020 - Frederic Crozat <fcrozat@suse.com>
- Remove plymouth.enable=0, plymouth is not part of image.
- Remove explicit addition of cloud-init on openStack image, it
is already pulled by cloud pattern.
- Build kvm-and-xen, ContainerHost-kvm-and-xen and
kubeadm-kvm-and-xenon aarch64 in addition to x86_64.
- Create a volume for grub2 for aarch64.
- Disable ignition using qemu fw_cfg on kvm images on aarch64 until
kernel is fixed.
-------------------------------------------------------------------
Tue Feb 4 14:34:28 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Force inclusion of pcie-brcmstb on RPi (boo#1162669)
-------------------------------------------------------------------
Thu Jan 30 12:07:29 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Use u-boot-rpiarm64
-------------------------------------------------------------------
Mon Jan 27 11:03:19 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Use net.ifnames=0 everywhere
- Remove explicit swiotlb and cma assignments from RPi cmdline
as the defaults are better meanwhile (bsc#1160308)
- Do the same for Pine64 as likely the same
- "console=tty" has to be "console=tty0"
-------------------------------------------------------------------
Mon Jan 27 10:01:01 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Re-enable lzo compression for armv7, which was disabled by
mistake in previous commit
-------------------------------------------------------------------
Mon Jan 20 08:27:43 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- remove lzo compression for aarch64 (temporary workaround for kernel 5.4)
-------------------------------------------------------------------
Tue Jan 14 10:16:27 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Add "quiet" to kernelcmdline
-------------------------------------------------------------------
Fri Jan 10 12:21:58 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Build vagrant images for aarch64 too
-------------------------------------------------------------------
Tue Dec 17 16:12:39 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Set the locale to en_US explicitly (.UTF-8 is added by kiwi)
-------------------------------------------------------------------
Tue Dec 3 15:49:46 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Make editbootinstall_{rpi,pine64}.sh more robust
-------------------------------------------------------------------
Mon Nov 4 09:19:06 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- New kiwi uses grub2-mkconfig now, so drop the hack in replacebootconfig.sh
and editbootinstall_*.sh
- Now the kernel cmdline can be escaped properly as well
-------------------------------------------------------------------
Wed Oct 9 14:52:16 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Add VirtualBox flavor
- Make /var a separate autoexpanding partition for VMX flavors:
* Allows enabling qgroups on / again
* On OEM this would result in >15GiB images, so skip those
- Drop hardware flavor, meanwhile there's no difference anymore
- Todo:
* Make /var no-COW once
https://github.com/OSInside/kiwi/issues/1233 is implemented
- Use grub2-x86_64-xen instead of just grub2-xen
-------------------------------------------------------------------
Wed Oct 2 09:46:13 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Drop "rd.neednet=0" as dracut bug fixed now
-------------------------------------------------------------------
Wed Oct 2 08:46:00 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Add RaspberryPi2 platform, only built with plain MicroOS flavor
-------------------------------------------------------------------
Mon Sep 30 07:51:30 UTC 2019 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Add kernel-firmware for RPi
-------------------------------------------------------------------
Mon Sep 9 13:53:08 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Regain sanity: Add replacebootconfig.sh to use the actual GRUB
config the system would generate itself
- Mount by-uuid
- Add rd.neednet=0 to work around dracut bug
- Set ignition.platform.id in the cmdline
- Remove swap for Pine64 and RPi3 and the pointless swapaccount
parameter from all flavours (boo#1149663)
-------------------------------------------------------------------
Thu Aug 29 15:25:19 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Use creative kiwi approach for modifying /etc/fstab (boo#1129566)
- Use ignition-dracut
- Add /boot/writable subvolume
-------------------------------------------------------------------
Thu Aug 22 15:29:49 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Enable chronyd instead of systemd-timesyncd, that's what the DVD
install uses
-------------------------------------------------------------------
Wed Aug 21 09:08:00 UTC 2019 - Michał Rostecki <mrostecki@opensuse.org>
- Add kubic_admin, kubic_loadbalancer and kubic_worker patterns to
the Kubic-kubeadm flavor.
-------------------------------------------------------------------
Tue Apr 30 15:17:09 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Rename to MicroOS:
- New flavors: bare, ContainerHost and Kubic-kubeadm
- Remove workaround for kiwi bug
- Merge XEN into kvm-and-xen
- Remove unneeded sections in config.sh:
* cloud.cfg change was a noop
* RPi HDMI hotplug is implemented now
- Bump version to 16.0.0
- Remove -x86_64 suffixes, arch is part of the filename already
-------------------------------------------------------------------
Wed Apr 24 15:07:59 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Don't set DHCLIENT_SET_HOSTNAME to yes, cloud-init takes care of the hostname
-------------------------------------------------------------------
Thu Apr 11 12:40:57 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Workaround gh#SUSE/kiwi#1053 by adding grub2-*-efi explicitly
-------------------------------------------------------------------
Tue Apr 2 08:33:11 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Use the new microos and containers patterns and release pkg
-------------------------------------------------------------------
Wed Mar 20 10:53:27 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Remove xfsprogs from OpenStack - leftover from JeOS
-------------------------------------------------------------------
Fri Mar 15 19:40:38 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Merge bootstrap package sections
- Remove unpartitioned space, no longer needed
-------------------------------------------------------------------
Tue Feb 19 14:04:25 UTC 2019 - Richard Brown <rbrown@suse.com>
- Use more kiwi-friendly container-runtime and container-runtime-kubernetes patterns
[boo#1125949]
-------------------------------------------------------------------
Wed Feb 13 13:52:22 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Drop the data partition, disable quotas entirely instead
(we'd need a seperate /var partition, but kiwi can't do it)
- Change profile configuration: MicroOS+podman and MicroOS+cri-o+kubeadm
- Use glibc-locale-base instead of glibc-locale
- Fix etc overlay with new transactional-update and read-only-root-fs
- Add cloud-init and cloud-init-config-casp directly
-------------------------------------------------------------------
Fri Feb 1 11:25:06 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- VMware image was apparently not read-only, fixed
-------------------------------------------------------------------
Fri Feb 1 09:59:11 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Add apparmor pattern to cri-o profile directly
-------------------------------------------------------------------
Tue Jan 31 19:13:00 UTC 2019 - Denis Kondratenko <dkondratenko@suse.com>
- correct owner for vagrant home directory
-------------------------------------------------------------------
Tue Jan 31 16:35:00 UTC 2019 - Denis Kondratenko <dkondratenko@suse.com>
- unpredictable kernel-native ethX naming for Vagrant box to come up for
ssh config
-------------------------------------------------------------------
Mon Jan 28 14:10:36 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Remove docker profiles
- Only install cri-o-kubeadm-criconfig on kubeadm
-------------------------------------------------------------------
Thu Jan 24 16:20:27 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Enable systemd-timesyncd
-------------------------------------------------------------------
Tue Jan 22 14:24:00 UTC 2019 - Denis Kondratenko <dkondratenko@suse.com>
- Enable kubelet service for images
-------------------------------------------------------------------
Tue Jan 8 14:16:47 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Rename from kubic-images to openSUSE-Tumbleweed-Kubic
-------------------------------------------------------------------
Thu Nov 22 10:48:18 CET 2018 - alvaro.saurin@suse.com
- Use the net.ifnames=0 in the kernel cmdline args for KVM/Xen
-------------------------------------------------------------------
Tue Oct 2 15:21:41 UTC 2018 - Fabian Vogt <fvogt@suse.com>
- Don't install kernel-firmware for the Vagrant flavour
-------------------------------------------------------------------
Tue Sep 25 16:14:55 UTC 2018 - Richard Brown <rbrown@suse.com>
- Add Vagrant flavour (from jan.fajerski@suse.com)
- Resolve criconfig dependency choice
-------------------------------------------------------------------
Mon Sep 10 11:33:36 UTC 2018 - Fabian Vogt <fvogt@suse.com>
- Avoid kernel-default-base:
* Missing important kernel modules for kubernetes
-------------------------------------------------------------------
Wed Sep 5 12:48:31 UTC 2018 - fvogt@suse.com
- Remove cloud-init-config subvolume (boo#1107283)
-------------------------------------------------------------------
Thu Aug 23 10:13:06 UTC 2018 - rbrown@suse.com
- Replace CaaSP-Stack flavour with kubeadm flavour
- Introduce seperate crio and docker profiles
-------------------------------------------------------------------
Fri Aug 17 08:38:34 UTC 2018 - fvogt@suse.com
- Decouple from CaaSP: It goes a separate path from now
- Enable btrfs_quota_groups (bsc#1093518) (still broken in kiwi as of now)
- Don't remove /etc/localtime in config.sh
- Set bootloader_console="gfxterm" unless tty is on serial console
- Remove systemd.show_status=0 from the kernel cmdline (bsc#1089826)
- Fix VMware capitalization
- Fix (kvm-and-)xen driver inclusion on non-MicroOS
-------------------------------------------------------------------
Fri Jun 22 12:44:13 UTC 2018 - fvogt@suse.com
- Don't use import=true:
* OBS doesn't handle it correctly
* No effect in combination with _multibuild
-------------------------------------------------------------------
Thu Jun 21 07:39:06 UTC 2018 - guillaume.gardet@opensuse.org
- Use legacy MBR instead of GPT for Pine64 due to boo#1098550
-------------------------------------------------------------------
Tue Jun 19 16:06:50 UTC 2018 - guillaume.gardet@opensuse.org
- Don't setup data_part on Pine64
-------------------------------------------------------------------
Mon Jun 18 11:29:48 UTC 2018 - fvogt@suse.com
- Don't setup data_part on RPi, it breaks the MBR
-------------------------------------------------------------------
Fri Jun 8 09:25:07 UTC 2018 - fvogt@suse.com
- Add patterns-caasp-apparmor to the Stack profile
-------------------------------------------------------------------
Mon May 28 17:12:07 UTC 2018 - guillaume.gardet@opensuse.org
- Add pine64 flavour
-------------------------------------------------------------------
Wed May 23 12:51:01 UTC 2018 - fvogt@suse.com
- Add sections to allow building against CaaSP
- Add pre_checkin.sh to generate both caasp and kubic image descriptions
- Update schema to version 6.7
-------------------------------------------------------------------
Wed May 23 07:06:54 UTC 2018 - fvogt@suse.com
- Don't try to enable quotas here, it's wrong (bsc#1093518)
-------------------------------------------------------------------
Fri May 4 09:13:44 UTC 2018 - fvogt@suse.com
- /var/lib/docker on a separate partition with btrfs
- Adjust snapper configuration to enable quotas, disable timeline
snapshots and keep fewer number snapshots
- Only call add-yast-repos if available
- Adjust zypp.conf to disable multiversion and recommends and enable
excludedocs
- Use set -exo pipefail for good measure
-------------------------------------------------------------------
Wed May 2 12:06:06 UTC 2018 - fvogt@suse.com
- Add hardware-x86_64 flavor with kernel-default
- Include live-add-yast-repos
-------------------------------------------------------------------
Wed Apr 25 13:51:17 UTC 2018 - fvogt@suse.com
- Add new flavors and targets for patterns-caasp-Stack and patterns-caasp-onlyDVD
- Add _constraints
-------------------------------------------------------------------
Fri Apr 13 07:24:55 UTC 2018 - fvogt@suse.com
- New image, based on SLE 15 JeOS and CaaSP 3.0 descriptions

833
openSUSE-MicroOS.kiwi Normal file
View File

@@ -0,0 +1,833 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- OBS-Profiles: @BUILD_FLAVOR@ -->
<image schemaversion="7.4" name="openSUSE-MicroOS" displayname="openSUSE MicroOS">
<description type="system">
<author>openSUSE Project</author>
<contact>opensuse-factory@opensuse.org</contact>
<specification>openSUSE MicroOS</specification>
</description>
<profiles>
<!-- Profiles used as dependencies of actual image profiles -->
<!-- Flavors -->
<profile name="ContainerHost" description="MicroOS with container runtime (podman)"/>
<!-- Platforms -->
<profile name="kvm-and-xen-sdboot" description="kvm-and-xen with systemd-boot" arch="x86_64,aarch64"/>
<profile name="kvm-and-xen-grub-bls" description="kvm-and-xen with GRUB2 and bootctl" arch="x86_64,aarch64"/>
<profile name="kvm-and-xen" description="kvm-and-xen" arch="x86_64,aarch64,armv7l"/>
<profile name="VMware" description="VMware for x86_64" arch="x86_64"/>
<profile name="MS-HyperV" description="Hyper-V" arch="x86_64,aarch64"/>
<profile name="OpenStack-Cloud" description="OpenStack Cloud" arch="x86_64,aarch64"/>
<profile name="DigitalOcean-Cloud" description="DigitalOcean Cloud" arch="x86_64"/>
<profile name="VirtualBox" description="VirtualBox for x86_64" arch="x86_64"/>
<profile name="Pine64" description="Pine64" arch="aarch64"/>
<profile name="RaspberryPi" description="RaspberryPi (3+, aarch64)" arch="aarch64"/>
<profile name="RaspberryPi2" description="RaspberryPi2 (armv7)" arch="armv7l"/>
<profile name="Rock64" description="Rock64" arch="aarch64"/>
<profile name="Vagrant" description="Vagrant for x86_64" arch="x86_64,aarch64"/>
<profile name="SelfInstall" description="Self Installing Image" arch="x86_64,aarch64"/>
<!-- Images (flavor + platform) -->
<profile name="ContainerHost-kvm-and-xen" description="MicroOS with Podman for KVM and HVM Xen" arch="x86_64,aarch64">
<requires profile="kvm-and-xen"/>
<requires profile="ContainerHost"/>
</profile>
<profile name="ContainerHost-VMware" description="MicroOS with Podman for VMware" arch="x86_64">
<requires profile="VMware"/>
<requires profile="ContainerHost"/>
</profile>
<profile name="ContainerHost-MS-HyperV" description="MicroOS with Podman for Hyper-V" arch="x86_64,aarch64">
<requires profile="MS-HyperV"/>
<requires profile="ContainerHost"/>
</profile>
<profile name="ContainerHost-OpenStack-Cloud" description="MicroOS with Podman for OpenStack Cloud" arch="x86_64,aarch64">
<requires profile="OpenStack-Cloud"/>
<requires profile="ContainerHost"/>
</profile>
<profile name="ContainerHost-Pine64" description="MicroOS with Podman for the Pine64" arch="aarch64">
<requires profile="Pine64"/>
<requires profile="ContainerHost"/>
</profile>
<profile name="ContainerHost-RaspberryPi" description="MicroOS with Podman for the Raspberry Pi" arch="aarch64">
<requires profile="RaspberryPi"/>
<requires profile="ContainerHost"/>
</profile>
<profile name="ContainerHost-Rock64" description="MicroOS with Podman for the Rock64" arch="aarch64">
<requires profile="Rock64"/>
<requires profile="ContainerHost"/>
</profile>
<profile name="ContainerHost-Vagrant" description="MicroOS with Podman for Vagrant" arch="x86_64,aarch64">
<requires profile="Vagrant"/>
<requires profile="ContainerHost"/>
</profile>
<profile name="ContainerHost-SelfInstall" description="MicroOS with Podman for SelfInstallation" arch="x86_64,aarch64">
<requires profile="SelfInstall"/>
<requires profile="ContainerHost"/>
</profile>
</profiles>
<preferences profiles="kvm-and-xen-sdboot">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="qcow2"
firmware="uefi"
bootpartition="false"
initrd_system="none"
efipartsize="500"
bootkernel="custom"
editbootinstall="editbootinstall_mbr.sh"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<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">20</size>
</type>
</preferences>
<preferences profiles="kvm-and-xen-grub-bls">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="qcow2"
firmware="uefi"
bootpartition="false"
initrd_system="none"
efipartsize="500"
bootkernel="custom"
editbootinstall="editbootinstall_mbr.sh"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" bls="true" />
<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">20</size>
</type>
</preferences>
<preferences profiles="kvm-and-xen" arch="x86_64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="qcow2"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">20</size>
</type>
</preferences>
<preferences profiles="kvm-and-xen" arch="aarch64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="qcow2"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">20</size>
</type>
</preferences>
<preferences profiles="kvm-and-xen" arch="armv7l">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="qcow2"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="opt"/>
<volume name="srv"/>
<volume name="boot/grub2/arm-efi" mountpoint="boot/grub2/arm-efi"/>
<volume name="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">20</size>
</type>
</preferences>
<preferences profiles="VMware">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="vmdk"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">24</size>
<machine memory="1024" HWversion="10" guestOS="suse-64"/>
</type>
</preferences>
<preferences profiles="OpenStack-Cloud" arch="x86_64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="qcow2"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">24</size>
</type>
</preferences>
<preferences profiles="OpenStack-Cloud" arch="aarch64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="qcow2"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">24</size>
</type>
</preferences>
<preferences profiles="DigitalOcean-Cloud" arch="x86_64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="qcow2"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">24</size>
</type>
</preferences>
<preferences profiles="MS-HyperV" arch="x86_64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="vhdx"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" 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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<!-- Microsoft wants 30GB images -->
<size unit="G">30</size>
</type>
</preferences>
<preferences profiles="MS-HyperV" arch="aarch64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="vhdx"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" timeout="10" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<!-- Microsoft wants 30GB images -->
<size unit="G">30</size>
</type>
</preferences>
<preferences profiles="VirtualBox">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="vdi"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">20</size>
</type>
</preferences>
<preferences profiles="Pine64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
initrd_system="dracut"
filesystem="btrfs"
fsmountoptions="noatime"
firmware="efi"
bootpartition="false"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
efipartsize="16"
editbootinstall="editbootinstall_pine64.sh"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="false"
>
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
</type>
</preferences>
<preferences profiles="RaspberryPi">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
initrd_system="dracut"
filesystem="btrfs"
fsmountoptions="noatime,compress=lzo"
firmware="efi"
bootpartition="false"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
efipartsize="16"
editbootinstall="editbootinstall_rpi.sh"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="false"
>
<bootloader name="grub2" console="gfxterm" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
</type>
</preferences>
<preferences profiles="RaspberryPi2">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
initrd_system="dracut"
filesystem="btrfs"
fsmountoptions="noatime,compress=lzo"
firmware="efi"
bootpartition="false"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
efipartsize="16"
editbootinstall="editbootinstall_rpi.sh"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="false"
>
<bootloader name="grub2" console="gfxterm" />
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="opt"/>
<volume name="srv"/>
<volume name="boot/grub2/arm-efi" mountpoint="boot/grub2/arm-efi"/>
<volume name="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
</type>
</preferences>
<preferences profiles="Rock64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
initrd_system="dracut"
filesystem="btrfs"
fsmountoptions="noatime,compress=lzo"
firmware="efi"
bootpartition="false"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
efipartsize="16"
editbootinstall="editbootinstall_rock64.sh"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="false"
disk_start_sector="32768"
>
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
</type>
</preferences>
<preferences profiles="Vagrant" arch="x86_64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="vagrant"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<vagrantconfig provider="libvirt" virtualsize="24"/>
<size unit="G">24</size>
</type>
</preferences>
<preferences profiles="Vagrant" arch="aarch64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
format="vagrant"
firmware="uefi"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<vagrantconfig provider="libvirt" virtualsize="24"/>
<size unit="G">24</size>
</type>
</preferences>
<preferences profiles="SelfInstall">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootsplash-theme>openSUSE</bootsplash-theme>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
image="oem"
filesystem="btrfs"
firmware="uefi"
initrd_system="dracut"
installiso="true"
installpxe="true"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" />
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="tmp"/>
<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="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<oemconfig>
<oem-device-filter>/dev/ram</oem-device-filter>
<oem-multipath-scan>false</oem-multipath-scan>
</oemconfig>
<machine memory="512" guestOS="suse" HWversion="4">
<vmdisk id="0" controller="ide"/>
<vmnic driver="e1000" interface="0" mode="bridged"/>
</machine>
</type>
</preferences>
<repository type="rpm-md" >
<source path="obsrepositories:/"/>
</repository>
<packages type="image">
<package name="live-add-yast-repos"/>
<!-- Apparently zypper (?) doesn't like having multiple patterns with the same name,
so avoid using namedCollection at least for basesystem -->
<package name="patterns-microos-basesystem"/>
<package name="patterns-microos-base-zypper"/>
<package name="patterns-microos-defaults"/>
<package name="patterns-microos-selinux"/>
<package name="kernel-default"/>
<package name="dracut-kiwi-oem-repart"/>
<!-- Make it easier to add encryption later, like with https://github.com/lnussel/addimageencryption -->
<package name="device-mapper"/>
<package name="cryptsetup"/>
</packages>
<packages type="image" profiles="SelfInstall,kvm-and-xen,VMware,MS-HyperV,VirtualBox,Pine64,RaspberryPi,RaspberryPi2,Rock64,Vagrant,DigitalOcean-Cloud">
<!-- Needed for initial configuration, except on OpenStack-Cloud, where cloud-init is used -->
<package name="ignition-dracut"/>
<package name="combustion &gt;= 1.2"/> <!-- New firstboot mechanism -->
<package name="jeos-firstboot"/>
<package name="growpart-generator"/>
<package name="patterns-base-bootloader"/>
</packages>
<packages type="image" profiles="kvm-and-xen-sdboot,kvm-and-xen-grub-bls">
<!-- Needed for initial configuration, except on OpenStack-Cloud, where cloud-init is used -->
<package name="ignition-dracut"/>
<package name="combustion &gt;= 1.2"/> <!-- New firstboot mechanism -->
<package name="jeos-firstboot"/>
<package name="growpart-generator"/>
<package name="sdbootutil-snapper"/>
<package name="disk-encryption-tool"/>
<package name="dracut-pcr-signature"/>
<package name="systemd-experimental"/>
<package name="shim"/>
<package name="efibootmgr"/>
<package name="uefi_mbr" arch="x86_64"/>
</packages>
<packages type="image" profiles="kvm-and-xen-grub-bls">
<package name="patterns-base-bootloader"/>
<package name="uefi_mbr" arch="x86_64"/>
<package name="grub2-x86_64-efi" arch="x86_64"/>
<package name="grub2-arm64-efi" arch="aarch64"/>
</packages>
<packages type="image" profiles="Pine64,RaspberryPi,RaspberryPi2,Rock64">
<package name="patterns-microos-hardware"/>
</packages>
<packages type="image" profiles="ContainerHost">
<package name="patterns-containers-container_runtime"/>
</packages>
<packages type="image" profiles="kvm-and-xen">
<!-- KVM and Xen specific packages -->
<package name="xen-tools-domU" arch="x86_64"/>
<package name="qemu-guest-agent"/>
</packages>
<packages type="image" profiles="VMware">
<package name="open-vm-tools" arch="x86_64"/>
</packages>
<packages type="image" profiles="MS-HyperV">
<package name="hyper-v"/>
</packages>
<packages type="image" profiles="OpenStack-Cloud">
<package name="patterns-microos-cloud"/>
<package name="patterns-base-bootloader"/>
</packages>
<packages type="image" profiles="VirtualBox">
<package name="virtualbox-guest-tools"/>
</packages>
<packages type="image" profiles="Pine64">
<package name="u-boot-pine64plus" arch="aarch64"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="ntp"/>
</packages>
<packages type="image" profiles="RaspberryPi">
<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="u-boot-rpiarm64" arch="aarch64"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="bcm43xx-firmware"/>
<package name="kernel-firmware-all"/> <!-- Fix choice between kernel-firmware and kernel-firmware-all -->
<package name="wireless-regdb"/>
<package name="wireless-tools"/>
<package name="wpa_supplicant"/>
</packages>
<packages type="image" profiles="RaspberryPi2">
<package name="raspberrypi-firmware" arch="armv7l"/>
<package name="raspberrypi-firmware-config" arch="armv7l"/>
<package name="raspberrypi-firmware-dt" arch="armv7l"/>
<package name="u-boot-rpi2" arch="armv7l"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="bcm43xx-firmware"/>
<package name="kernel-firmware-all"/> <!-- Fix choice between kernel-firmware and kernel-firmware-all -->
<package name="wireless-regdb"/>
<package name="wireless-tools"/>
<package name="wpa_supplicant"/>
</packages>
<packages type="image" profiles="Rock64">
<package name="u-boot-rock64-rk3328" arch="aarch64"/>
<package name="dtb-rockchip" arch="aarch64"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="kernel-firmware-all"/> <!-- Fix choice between kernel-firmware and kernel-firmware-all -->
</packages>
<packages type="image" profiles="Vagrant">
<!-- vagrant-libvirt uses nfs for synced folders -->
<package name="nfs-client"/>
</packages>
<packages type="image" profiles="SelfInstall">
<package name="patterns-microos-hardware"/>
<package name="dracut-kiwi-oem-dump"/>
<package name="kernel-firmware-all"/> <!-- Fix choice between kernel-firmware and kernel-firmware-all -->
</packages>
<packages type="bootstrap">
<!-- Avoid that zypper picks the busybox-foo variant for those, that would fail later -->
<package name="coreutils"/>
<package name="gawk"/>
<package name="gzip"/>
<package name="hostname"/>
<!-- Avoid libressl -->
<package name="openssl"/>
<package name="filesystem"/>
<package name="glibc-locale-base"/>
<!-- So that https repos work for image package downloads -->
<package name="ca-certificates-mozilla"/>
<!-- TODO: Use the proper flavors once available -->
<package name="MicroOS-release-dvd"/>
</packages>
</image>