Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package agama-installer for openSUSE:Factory
checked in at 2026-02-27 17:03:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/agama-installer (Old)
and /work/SRC/openSUSE:Factory/.agama-installer.new.29461 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "agama-installer"
Fri Feb 27 17:03:18 2026 rev:26 rq:1334915 version:19.pre.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/agama-installer/agama-installer.changes
2026-02-14 21:37:48.721869776 +0100
+++
/work/SRC/openSUSE:Factory/.agama-installer.new.29461/agama-installer.changes
2026-02-27 17:07:45.514764585 +0100
@@ -1,0 +2,44 @@
+Mon Feb 23 15:10:58 UTC 2026 - Ladislav Slezák <[email protected]>
+
+- Do not use verbose mode in the "image-janitor" calls, logging
+ so many details significantly increases the ISO build time
+ (roughly two times) (gh#agama-project/agama#3206)
+
+-------------------------------------------------------------------
+Thu Feb 19 12:55:14 UTC 2026 - Ladislav Slezák <[email protected]>
+
+- Fixes and improvements in the boot menu for x86_64 and aarch64:
+ - Fixed boot from hard disk in the legacy BIOS mode (x86_64 only)
+ - Added "p" keyboard shortcut to interactively configure the root
+ password for the installer live system
+ - Added support for serial console
+ - Disable plymouth graphical boot when the grub boot menu is
+ switched to text mode with the "t" keyboard shortcut
+
+- Fixed failed image build because of missing configuration options
+ for the "image-janitor" tool
+
+ (gh#agama-project/agama#3192)
+
+-------------------------------------------------------------------
+Wed Feb 18 20:32:37 UTC 2026 - Josef Reidinger <[email protected]>
+
+- Increase medium timeout to 60 seconds (jsc#PED-14986)
+- Unify kernel and initramfs location (jsc#PED-14303)
+- Drop “Boot from Disk” on all archs except legacy x86_64
+ (jsc#PED-13766)
+
+-------------------------------------------------------------------
+Thu Feb 12 14:57:21 UTC 2026 - Ladislav Slezák <[email protected]>
+
+- Fixed failing self-update, the self-update repository is not
+ ready yet. If SCC returns empty response then do not try using
+ the fallback URL and skip the self-update process. (bsc#1258142)
+
+-------------------------------------------------------------------
+Wed Feb 11 14:45:20 UTC 2026 - Eugenio Paolantonio
<[email protected]>
+
+- live: update license.final content with the January 2026 EULA delivery
+ (gh#agama-project/agama#3150)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ agama-installer.kiwi ++++++
--- /var/tmp/diff_new_pack.P8pA8U/_old 2026-02-27 17:07:46.994825925 +0100
+++ /var/tmp/diff_new_pack.P8pA8U/_new 2026-02-27 17:07:47.006826423 +0100
@@ -125,6 +125,8 @@
<package name="ipmitool" />
<!-- jsc#PED-13114 -->
<package name="tpm2.0-tools" />
+ <!-- image cleanup tool -->
+ <package name="image-janitor"/>
<!-- plymouth bsc#1248507 -->
<package name="plymouth" />
<package name="plymouth-dracut" />
++++++ config-cdroot.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fix_bootconfig.aarch64 new/fix_bootconfig.aarch64
--- old/fix_bootconfig.aarch64 2026-02-10 11:11:02.000000000 +0100
+++ new/fix_bootconfig.aarch64 2026-02-24 08:44:43.000000000 +0100
@@ -9,7 +9,7 @@
dst="$1"
-if [ ! -d "$dst" ] ; then
+if [ ! -d "$dst" ]; then
echo "fix_bootconfig.aarch64: image dir \"$dst\" not found"
exit 1
fi
@@ -19,7 +19,7 @@
# but that's not the case.
test -f $dst/.profile && . $dst/.profile
-arch=`uname -m`
+arch=$(uname -m)
profile=$(echo "$kiwi_profiles" | tr "_" " ")
label="$profile ($arch)"
@@ -34,18 +34,16 @@
#
cat >$dst/boot/grub2/grub.cfg <<XXX
# Agama generated grub2 config file
+insmod serial
+insmod read
+
set btrfs_relative_path="y"
export btrfs_relative_path
set default=0
-if [ -n "\$extra_cmdline" ]; then
- submenu "Bootable snapshot \$snapshot_num" {
- menuentry "If OK, run snapper rollback and reboot." { true; }
- }
-fi
if [ -n "\${iso_path}" ]; then
isoboot="iso-scan/filename=\${iso_path}"
fi
-set timeout=10
+set timeout=60
set timeout_style=menu
if [ "\${grub_platform}" = "efi" ]; then
echo "Please press 't' to show the boot menu on this console"
@@ -74,22 +72,30 @@
if [ -f (\$root)/boot/grub2/themes/$theme/theme.txt ];then
set theme=(\$root)/boot/grub2/themes/$theme/theme.txt
fi
-terminal_input console
-terminal_output gfxterm
-menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu
--class os {
- exit
-}
+
+# if the first serial port is successfully configured allow input/output to it
as well
+if serial --unit=0 --speed=9600; then
+ terminal_input console serial
+ terminal_output gfxterm serial
+ set extra_output=serial
+ # this detects that a serial port is present but that does not mean a
serial
+ # console is attached there so we cannot for example disable plymouth
+else
+ terminal_input console
+ terminal_output gfxterm
+fi
+
menuentry "Install $label" --class os --unrestricted {
set gfxpayload=keep
echo Loading kernel...
- linux (\$root)/boot/aarch64/loader/linux \${extra_cmdline} \${isoboot}
splash=silent
+ linux (\$root)/boot/aarch64/loader/linux \${isoboot} splash=silent
\${plymouth}
echo Loading initrd...
initrd (\$root)/boot/aarch64/loader/initrd
}
menuentry "Failsafe -- Install $label" --class os --unrestricted {
set gfxpayload=keep
echo Loading kernel...
- linux (\$root)/boot/aarch64/loader/linux \${extra_cmdline} \${isoboot}
ide=nodma apm=off noresume edd=off nomodeset 3
+ linux (\$root)/boot/aarch64/loader/linux \${isoboot} ide=nodma apm=off
noresume edd=off nomodeset 3
echo Loading initrd...
initrd (\$root)/boot/aarch64/loader/initrd
}
@@ -103,28 +109,48 @@
menuentry "Rescue System" --class os --unrestricted {
set gfxpayload=keep
echo Loading kernel...
- linux (\$root)/boot/aarch64/loader/linux \${extra_cmdline} \${isoboot}
$RESCUE_SYSTEM_BOOT_SETTINGS
+ linux (\$root)/boot/aarch64/loader/linux \${isoboot}
$RESCUE_SYSTEM_BOOT_SETTINGS
echo Loading initrd...
initrd (\$root)/boot/aarch64/loader/initrd
}
-if [ -f "/.snapshots/grub-snapshot.cfg" ]; then
- source "/.snapshots/grub-snapshot.cfg"
-fi
+
+hiddenentry "Text mode" --hotkey "t" {
+ set textmode=true
+ set plymouth="plymouth.enable=0"
+ terminal_output console \${extra_output}
+}
+
+hiddenentry "Set Live system password" --hotkey "p" {
+ echo "Enter root password for the installer live system:"
+ read -s live_password
+ echo "Confirm password:"
+ read -s live_password_confirmed
+
+ if [ "\${live_password}" != "\${live_password_confirmed}" ]; then
+ echo "ERROR: The passwords do not match!"
+ echo "Press Enter to return ..."
+ read -s
+ else
+ if [ -z "\${live_password}" ]; then
+ echo "ERROR: The password cannot be empty!"
+ echo "Press Enter to return ..."
+ read -s
+ else
+ set live_options="live.password=\${live_password}"
+ fi
+ fi
+}
+
if [ "\${grub_platform}" = "efi" ]; then
- hiddenentry "Text mode" --hotkey "t" {
- set textmode=true
- terminal_output console
- }
menuentry "UEFI Firmware Settings" {
fwsetup --is-supported
if [ "\$?" = 0 ]; then
fwsetup
else
echo "Your firmware doesn't support setup menu entry from a boot
loader"
- echo "Press any key to return ..."
- read
+ echo "Press Enter to return ..."
+ read -s
fi
}
fi
XXX
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fix_bootconfig.ppc64le new/fix_bootconfig.ppc64le
--- old/fix_bootconfig.ppc64le 2026-02-10 11:11:02.000000000 +0100
+++ new/fix_bootconfig.ppc64le 2026-02-24 08:44:43.000000000 +0100
@@ -31,8 +31,9 @@
# │ │ └── powerpc-ieee1275
# │ │ └── *.mod
# │ └── ppc64le
-# │ ├── initrd
-# │ └── linux
+# │ └── loader
+# │ ├── initrd
+# │ └── linux
# └── ppc
# └── bootinfo.txt
#
@@ -63,17 +64,11 @@
# files. It also moves kernel and initrd to the usual location (in boot/s390x).
#
-boot_dir=$dst/boot/ppc64le
+boot_dir=$dst/boot/ppc64le/loader
grub_dir=$dst/boot/grub2
mkdir -p $boot_dir $grub_dir $dst/ppc
-# if files are in a 'loader' subdir, move them out
-if [ -d $boot_dir/loader ] ; then
- mv $boot_dir/loader/{initrd,linux} $boot_dir
- rm -r $boot_dir/loader
-fi
-
chmod 644 $boot_dir/{initrd,linux}
arch=`uname -m`
@@ -87,7 +82,7 @@
gfxmode=auto
-set default="Boot from Hard Disk"
+set default=0
insmod gettext
@@ -95,29 +90,25 @@
timeout=60
fi
-menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu
--class os {
- exit
-}
-
menuentry "Install $label" --class os --unrestricted {
echo 'Loading kernel...'
- linux /boot/ppc64le/linux splash=silent
+ linux /boot/ppc64le/loader/linux splash=silent
echo 'Loading initrd...'
- initrd /boot/ppc64le/initrd
+ initrd /boot/ppc64le/loader/initrd
}
menuentry "Check Installation Medium" --class os --unrestricted {
echo 'Loading kernel...'
- linux /boot/ppc64le/linux mediacheck=1 plymouth.enable=0
+ linux /boot/ppc64le/loader/linux mediacheck=1 plymouth.enable=0
echo 'Loading initrd...'
- initrd /boot/ppc64le/initrd
+ initrd /boot/ppc64le/loader/initrd
}
menuentry "Rescue System" --class os --unrestricted {
echo 'Loading kernel...'
- linux /boot/ppc64le/linux $RESCUE_SYSTEM_BOOT_SETTINGS
+ linux /boot/ppc64le/loader/linux $RESCUE_SYSTEM_BOOT_SETTINGS
echo 'Loading initrd...'
- initrd /boot/ppc64le/initrd
+ initrd /boot/ppc64le/loader/initrd
}
XXX
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fix_bootconfig.s390x new/fix_bootconfig.s390x
--- old/fix_bootconfig.s390x 2026-02-10 11:11:02.000000000 +0100
+++ new/fix_bootconfig.s390x 2026-02-24 08:44:43.000000000 +0100
@@ -27,15 +27,16 @@
# │ └── squashfs.img
# ├── boot
# │ └── s390x
-# │ ├── cd.ikr
-# │ ├── initrd
-# │ ├── initrd.off
-# │ ├── initrd.siz
-# │ ├── linux
-# │ ├── parmfile
-# │ ├── parmfile.hmc
-# │ ├── sles.exec
-# │ └── suse.ins
+# │ └── loader
+# │ ├── cd.ikr
+# │ ├── initrd
+# │ ├── initrd.off
+# │ ├── initrd.siz
+# │ ├── linux
+# │ ├── parmfile
+# │ ├── parmfile.hmc
+# │ ├── sles.exec
+# │ └── suse.ins
# ├── suse.ins
# └── susehmc.ins
#
@@ -61,15 +62,9 @@
# files. It also moves kernel and initrd to the usual location (in boot/s390x).
#
-boot_dir=$dst/boot/s390x
+boot_dir=$dst/boot/s390x/loader
grub_dir=$dst/boot/grub2
-# if files are in a 'loader' subdir, move them out
-if [ -d $boot_dir/loader ] ; then
- mv $boot_dir/loader/{initrd,linux} $boot_dir
- rm -r $boot_dir/loader
-fi
-
# Create parmfile.
#
# These parameters are taken from a sampel isolinux.cfg; the required
parameters will
@@ -118,21 +113,21 @@
# A suse.ins copy at media root dir - note the different paths.
cat >$dst/suse.ins <<XXX
* SUSE Linux for IBM z Systems Installation System
-boot/s390x/linux 0x00000000
-boot/s390x/initrd.off $initrd_ofs_ofs
-boot/s390x/initrd.siz $initrd_siz_ofs
-boot/s390x/initrd $initrd_ofs
-boot/s390x/parmfile $parmfile_ofs
+boot/s390x/loader/linux 0x00000000
+boot/s390x/loader/initrd.off $initrd_ofs_ofs
+boot/s390x/loader/initrd.siz $initrd_siz_ofs
+boot/s390x/loader/initrd $initrd_ofs
+boot/s390x/loader/parmfile $parmfile_ofs
XXX
# Another suse.ins copy at media root dir - note the different paths and the
hmc stuff.
cat >$dst/susehmc.ins <<XXX
* SUSE Linux for IBM z Systems Installation System via HMC
-boot/s390x/linux 0x00000000
-boot/s390x/initrd.off $initrd_ofs_ofs
-boot/s390x/initrd.siz $initrd_siz_ofs
-boot/s390x/initrd $initrd_ofs
-boot/s390x/parmfile.hmc $parmfile_ofs
+boot/s390x/loader/linux 0x00000000
+boot/s390x/loader/initrd.off $initrd_ofs_ofs
+boot/s390x/loader/initrd.siz $initrd_siz_ofs
+boot/s390x/loader/initrd $initrd_ofs
+boot/s390x/loader/parmfile.hmc $parmfile_ofs
XXX
echo "$parmfile_content console=ttyS1" >$boot_dir/parmfile.hmc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fix_bootconfig.x86_64 new/fix_bootconfig.x86_64
--- old/fix_bootconfig.x86_64 2026-02-10 11:11:02.000000000 +0100
+++ new/fix_bootconfig.x86_64 2026-02-24 08:44:43.000000000 +0100
@@ -9,7 +9,7 @@
dst="$1"
-if [ ! -d "$dst" ] ; then
+if [ ! -d "$dst" ]; then
echo "fix_bootconfig.x86_64: image dir \"$dst\" not found"
exit 1
fi
@@ -19,7 +19,7 @@
# but that's not the case.
test -f $dst/.profile && . $dst/.profile
-arch=`uname -m`
+arch=$(uname -m)
profile=$(echo "$kiwi_profiles" | tr "_" " ")
label="$profile ($arch)"
@@ -34,18 +34,16 @@
#
cat >$dst/boot/grub2/grub.cfg <<XXX
# Agama generated grub2 config file
+insmod serial
+insmod read
+
set btrfs_relative_path="y"
export btrfs_relative_path
set default=0
-if [ -n "\$extra_cmdline" ]; then
- submenu "Bootable snapshot \$snapshot_num" {
- menuentry "If OK, run snapper rollback and reboot." { true; }
- }
-fi
if [ -n "\${iso_path}" ]; then
isoboot="iso-scan/filename=\${iso_path}"
fi
-set timeout=10
+set timeout=60
set timeout_style=menu
if [ "\${grub_platform}" = "efi" ]; then
echo "Please press 't' to show the boot menu on this console"
@@ -74,64 +72,104 @@
if [ -f (\$root)/boot/grub2/themes/$theme/theme.txt ];then
set theme=(\$root)/boot/grub2/themes/$theme/theme.txt
fi
-terminal_input console
-terminal_output gfxterm
-menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu
--class os {
- if search --no-floppy --file /efi/boot/fallback.efi --set ; then
- for os in opensuse sles leap suse; do
- if [ -f /efi/\$os/grub.efi ] ; then
- chainloader /efi/\$os/grub.efi
- boot
- fi
- done
- fi
- exit
-}
+
+# if serial port is successfully configured allow input/output to it as well
+if serial --unit=0 --speed=9600; then
+ terminal_input console serial
+ terminal_output gfxterm serial
+ set extra_output=serial
+ # this detects that a serial port is present but that does not mean a
serial
+ # console is attached there so we cannot for example disable plymouth
+else
+ terminal_input console
+ terminal_output gfxterm
+fi
+
+if [ "\${grub_platform}" != "efi" ]; then
+ # classic BIOS boot, try booting from MBR from the first disk
+ menuentry "Boot from Hard Disk" --class os --unrestricted {
+ insmod file
+
+ # check if the first disk contains a valid boot sector
+ if file --is-x86-bios-bootsector (hd0)+1; then
+ chainloader (hd0)+1
+ else
+ echo "The first disk does not seem to be bootable."
+ echo ""
+ echo "If you are sure the system can boot from hard disk"
+ echo "then remove the installation medium and reboot the machine."
+ echo ""
+ echo "Press Enter to return ..."
+ read -s
+ fi
+ }
+fi
+
menuentry "Install $label" --class os --unrestricted {
set gfxpayload=keep
echo Loading kernel...
- linux (\$root)/boot/x86_64/loader/linux \${extra_cmdline} \${isoboot}
splash=silent
+ linux (\$root)/boot/x86_64/loader/linux \${isoboot} splash=silent
\${plymouth} \${live_options}
echo Loading initrd...
initrd (\$root)/boot/x86_64/loader/initrd
}
menuentry "Failsafe -- Install $label" --class os --unrestricted {
set gfxpayload=keep
echo Loading kernel...
- linux (\$root)/boot/x86_64/loader/linux \${extra_cmdline} \${isoboot}
ide=nodma apm=off noresume edd=off nomodeset 3
+ linux (\$root)/boot/x86_64/loader/linux \${isoboot} ide=nodma apm=off
noresume edd=off nomodeset 3 \${live_options}
echo Loading initrd...
initrd (\$root)/boot/x86_64/loader/initrd
}
menuentry "Check Installation Medium" --class os --unrestricted {
set gfxpayload=keep
echo Loading kernel...
- linux (\$root)/boot/x86_64/loader/linux mediacheck=1 plymouth.enable=0
\${isoboot}
+ linux (\$root)/boot/x86_64/loader/linux mediacheck=1 plymouth.enable=0
\${isoboot} \${live_options}
echo Loading initrd...
initrd (\$root)/boot/x86_64/loader/initrd
}
menuentry "Rescue System" --class os --unrestricted {
set gfxpayload=keep
echo Loading kernel...
- linux (\$root)/boot/x86_64/loader/linux \${extra_cmdline} \${isoboot}
$RESCUE_SYSTEM_BOOT_SETTINGS
+ linux (\$root)/boot/x86_64/loader/linux \${isoboot}
$RESCUE_SYSTEM_BOOT_SETTINGS
echo Loading initrd...
initrd (\$root)/boot/x86_64/loader/initrd
}
-if [ -f "/.snapshots/grub-snapshot.cfg" ]; then
- source "/.snapshots/grub-snapshot.cfg"
-fi
+hiddenentry "Text mode" --hotkey "t" {
+ set textmode=true
+ set plymouth="plymouth.enable=0"
+ terminal_output console \${extra_output}
+}
+
+hiddenentry "Set Live system password" --hotkey "p" {
+ echo "Enter the new root password for the installer live system:"
+ read -s live_password
+ echo "Retype the password again:"
+ read -s live_password_confirmed
+
+ if [ "\${live_password}" != "\${live_password_confirmed}" ]; then
+ echo "ERROR: The passwords do not match!"
+ echo "Press Enter to return ..."
+ read -s
+ else
+ if [ -z "\${live_password}" ]; then
+ echo "ERROR: The password cannot be empty!"
+ echo "Press Enter to return ..."
+ read -s
+ else
+ set live_options="live.password=\${live_password}"
+ fi
+ fi
+}
+
if [ "\${grub_platform}" = "efi" ]; then
- hiddenentry "Text mode" --hotkey "t" {
- set textmode=true
- terminal_output console
- }
menuentry "UEFI Firmware Settings" {
fwsetup --is-supported
if [ "\$?" = 0 ]; then
fwsetup
else
echo "Your firmware doesn't support setup menu entry from a boot
loader"
- echo "Press any key to return ..."
- read
+ echo "Press Enter to return ..."
+ read -s
fi
}
fi
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.P8pA8U/_old 2026-02-27 17:07:47.246836369 +0100
+++ /var/tmp/diff_new_pack.P8pA8U/_new 2026-02-27 17:07:47.254836701 +0100
@@ -315,16 +315,14 @@
# make sense on a server.
du -h -s /lib/modules /lib/firmware
-# remove the multimedia drivers
-# set DEBUG=1 to print the deleted drivers
-/tmp/driver_cleanup.rb --delete
-# remove the script and data, not needed anymore
-rm /tmp/driver_cleanup.rb /tmp/module.list*
+# remove the multimedia drivers, use the default configuration files
+image-janitor driver-cleanup --delete --config-files
/usr/share/image-janitor/module.list,/usr/share/image-janitor/module.list.extra
# remove the unused firmware (not referenced by kernel drivers)
-/tmp/fw_cleanup.rb --delete
-# remove the script, not needed anymore
-rm /tmp/fw_cleanup.rb
+image-janitor fw-cleanup --delete
+
+# remove the tool, not needed anymore
+rpm -e image-janitor
du -h -s /lib/modules /lib/firmware
################################################################################
++++++ live-root.tar.xz ++++++
++++ 4388 lines of diff (skipped)