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 <lnus...@suse.de> + +- remove onie +- fix aarch64 build + +------------------------------------------------------------------- @@ -4,0 +11,5 @@ + +------------------------------------------------------------------- +Wed Sep 20 11:46:48 UTC 2023 - Ludwig Nussel <lnus...@suse.de> + +- 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