Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openSUSE-MicroOS for
openSUSE:Factory checked in at 2023-10-10 20:52:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-MicroOS (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-MicroOS.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-MicroOS"
Tue Oct 10 20:52:11 2023 rev:66 rq:1115829 version:16.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-MicroOS/openSUSE-MicroOS.changes
2023-09-29 21:14:06.718913588 +0200
+++
/work/SRC/openSUSE:Factory/.openSUSE-MicroOS.new.28202/openSUSE-MicroOS.changes
2023-10-10 20:52:26.432988560 +0200
@@ -1,0 +2,6 @@
+Thu Oct 5 12:22:10 UTC 2023 - Ludwig Nussel <[email protected]>
+
+- remove onie
+- fix aarch64 build
+
+-------------------------------------------------------------------
@@ -4,0 +11,5 @@
+
+-------------------------------------------------------------------
+Wed Sep 20 11:46:48 UTC 2023 - Ludwig Nussel <[email protected]>
+
+- add kvm-and-xen-sdboot flavor
Old:
----
README.onie
onie-installer
onie.tar.gz
qcow2toonie.sh
New:
----
disk.sh
editbootinstall_mbr.sh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-MicroOS.kiwi ++++++
--- /var/tmp/diff_new_pack.xiiehC/_old 2023-10-10 20:52:28.557065534 +0200
+++ /var/tmp/diff_new_pack.xiiehC/_new 2023-10-10 20:52:28.557065534 +0200
@@ -11,6 +11,7 @@
<!-- 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" description="kvm-and-xen"
arch="x86_64,aarch64"/>
<profile name="VMware" description="VMware for x86_64" arch="x86_64"/>
<profile name="MS-HyperV" description="Hyper-V" arch="x86_64,aarch64"/>
@@ -23,7 +24,6 @@
<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"/>
- <profile name="onie" description="ONIE Installer Image" arch="x86_64"/>
<!-- 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"/>
@@ -62,10 +62,9 @@
<requires profile="ContainerHost"/>
</profile>
</profiles>
- <preferences profiles="kvm-and-xen" arch="x86_64">
+ <preferences profiles="kvm-and-xen-sdboot">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
- <bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
<type
@@ -74,28 +73,28 @@
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" console="gfxterm" />
+ <bootloader name="custom"/>
<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">
+ <preferences profiles="kvm-and-xen" arch="x86_64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
@@ -119,7 +118,8 @@
<volume name="root"/>
<volume name="opt"/>
<volume name="srv"/>
- <volume name="boot/grub2/arm64-efi"
mountpoint="boot/grub2/arm64-efi"/>
+ <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"/>
@@ -127,7 +127,7 @@
<size unit="G">20</size>
</type>
</preferences>
- <preferences profiles="onie">
+ <preferences profiles="kvm-and-xen" arch="aarch64">
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
@@ -139,23 +139,24 @@
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="serial" serial_line="serial
--speed=115200 --unit=0 --word=8 --parity=no --stop=1" />
+ <bootloader name="grub2" console="gfxterm" />
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="opt"/>
<volume name="srv"/>
- <volume name="var" copy_on_write="false"/>
- <volume name="boot/grub2/i386-pc"/>
- <volume name="boot/grub2/x86_64-efi"
mountpoint="boot/grub2/x86_64-efi"/>
+ <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="VMware">
@@ -638,7 +639,6 @@
</repository>
<packages type="image">
<package name="live-add-yast-repos"/>
- <package name="patterns-base-bootloader"/>
<!-- 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"/>
@@ -652,11 +652,21 @@
</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 -->
- <!-- On ONIE, the installer does the partitioning and salt is used for
configuration -->
<package name="ignition-dracut"/>
<package name="combustion >= 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">
+ <package name="combustion"/>
+ <package name="jeos-firstboot"/>
+ <package name="growpart-generator"/>
+ <package name="sdbootutil-snapper"/>
+ <package name="sdbootutil-rpm-scriptlets"/>
+ <package name="shim"/>
+ <package name="efibootmgr"/>
+ <package name="uefi_mbr" arch="x86_64"/>
</packages>
<packages type="image" profiles="Pine64,RaspberryPi,RaspberryPi2,Rock64">
<package name="patterns-microos-hardware"/>
@@ -677,6 +687,7 @@
</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"/>
@@ -721,12 +732,6 @@
<!-- vagrant-libvirt uses nfs for synced folders -->
<package name="nfs-client"/>
</packages>
- <packages type="image" profiles="onie">
- <package name="patterns-microos-hardware"/>
- <package name="kernel-firmware-all"/> <!-- Fix choice between
kernel-firmware and kernel-firmware-all -->
- <package name="salt-minion"/>
- <archive name="onie.tar.gz"/>
- </packages>
<packages type="image" profiles="SelfInstall">
<package name="patterns-microos-hardware"/>
<package name="dracut-kiwi-oem-repart"/>
++++++ _multibuild ++++++
--- /var/tmp/diff_new_pack.xiiehC/_old 2023-10-10 20:52:28.613067563 +0200
+++ /var/tmp/diff_new_pack.xiiehC/_new 2023-10-10 20:52:28.617067708 +0200
@@ -1,8 +1,7 @@
<multibuild>
- <!-- Special case: Pi2, VBox and onie only get plain MicroOS -->
+ <!-- Special case: Pi2, VBox only get plain MicroOS -->
<flavor>RaspberryPi2</flavor>
<flavor>VirtualBox</flavor>
- <flavor>onie</flavor>
<!--
for a in kvm-and-xen VMware MS-HyperV OpenStack-Cloud Pine64
Rock64 RaspberryPi Vagrant hardware; do
for f in "" "ContainerHost-"; do
@@ -29,5 +28,6 @@
<flavor>SelfInstall</flavor>
<flavor>ContainerHost-SelfInstall</flavor>
<flavor>DigitalOcean-Cloud</flavor>
+ <flavor>kvm-and-xen-sdboot</flavor>
</multibuild>
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.xiiehC/_old 2023-10-10 20:52:28.633068288 +0200
+++ /var/tmp/diff_new_pack.xiiehC/_new 2023-10-10 20:52:28.637068433 +0200
@@ -108,21 +108,6 @@
fi
EOF
-# ONIE additions
-if [[ "$kiwi_profiles" == *"onie"* ]]; then
- systemctl enable onie-adjust-boottype
- # For testing:
- echo root:linux | chpasswd
- systemctl enable salt-minion
-
- cat >>/etc/fstab.script <<"EOF"
-# Grow the root filesystem. / is mounted read-only, so use /var instead.
-gawk -i inplace '$2 == "/var" { $4 = $4",x-growpart.grow,x-systemd.growfs" } {
print $0 }' /etc/fstab
-# Remove the entry for the EFI partition
-gawk -i inplace '$2 != "/boot/efi"' /etc/fstab
-EOF
-fi
-
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.
@@ -157,8 +142,8 @@
[[ "$kiwi_profiles" == *"RaspberryPi2" ]] &&
serialconsole='console=ttyAMA0,115200'
[[ "$kiwi_profiles" == *"Rock64" ]] && serialconsole='console=ttyS2,1500000'
-grub_cmdline=('quiet' 'systemd.show_status=yes' "${serialconsole}"
'console=tty0')
-rpm -q wicked && grub_cmdline+=('net.ifnames=0')
+cmdline=('quiet' 'systemd.show_status=yes' "${serialconsole}" 'console=tty0')
+rpm -q wicked && cmdline+=('net.ifnames=0')
ignition_platform='metal'
case "${kiwi_profiles}" in
@@ -168,8 +153,8 @@
*OpenStack*) ignition_platform='openstack' ;;
*VirtualBox*) ignition_platform='virtualbox' ;;
*HyperV*) ignition_platform='metal'
- grub_cmdline+=('rootdelay=300') ;;
- *Pine64*|*RaspberryPi*|*Rock64*|*Vagrant*|*onie*)
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='' ;;
@@ -179,19 +164,14 @@
esac
if [ -n "${ignition_platform}" ]; then
- grub_cmdline+=("ignition.platform.id=${ignition_platform}")
+ cmdline+=("ignition.platform.id=${ignition_platform}")
fi
-sed -i
"s#^GRUB_CMDLINE_LINUX_DEFAULT=.*\$#GRUB_CMDLINE_LINUX_DEFAULT=\"${grub_cmdline[*]}\"#"
/etc/default/grub
-
#======================================
# If SELinux is installed, configure it like transactional-update setup-selinux
#--------------------------------------
if [[ -e /etc/selinux/config ]]; then
- # Check if we don't have selinux already enabled.
- grep ^GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub | grep -q
security=selinux || \
- sed -i -e 's|\(^GRUB_CMDLINE_LINUX_DEFAULT=.*\)"|\1
security=selinux selinux=1"|g' "/etc/default/grub"
-
+ cmdline+=("security=selinux selinux=1")
# Adjust selinux config
sed -i -e 's|^SELINUX=.*|SELINUX=enforcing|g' \
-e 's|^SELINUXTYPE=.*|SELINUXTYPE=targeted|g' \
@@ -201,6 +181,12 @@
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
+else
+ echo "${cmdline[*]}" > /etc/kernel/cmdline
+fi
+
#======================================
# Wicked specific configuration (in addition to the net.ifnames=0 above)
#--------------------------------------
@@ -269,3 +255,15 @@
chown -R vagrant /home/vagrant
fi
+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
+fi
+
++++++ disk.sh ++++++
#!/bin/bash
set -euxo pipefail
[ -x /usr/bin/sdbootutil ] || exit 0
echo "#######DISK"
rootuuid=$(findmnt / -n --output uuid)
sed -i -e "s,\$, root=UUID=$rootuuid rootflags=subvol=@/.snapshots/1/snapshot,"
/etc/kernel/cmdline
arch="$(uname -m)"
case "$arch" in
aarch64) arch=arm64 ;;
x86_64) arch=x64 ;;
*) echo "Unknown arch $arch"; exit 1 ;;
esac
echo "install boot loader"
sdbootutil -v --arch "$arch" --esp-path /boot/efi --entry-token=auto
--no-variables install
echo "add kernels"
export hostonly_l=no # for dracut
sdbootutil --arch "$arch" --esp-path /boot/efi --entry-token=auto
add-all-kernels
echo "##### AFTER ####"
rm -f /boot/mbrid
find /boot
++++++ editbootinstall_mbr.sh ++++++
#!/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