The current logic of deciding if systemd-boot was manually setup by the user (without proxmox-boot-tool), by checking `bootctl is-installed` yields a false-positive after upgrading: * systems which have the package installed (e.g. from our isos after 8.0), but do not use proxmox-boot-tool (LVM installs) will get systemd-boot installed to /boot/efi upon upgrade * after upgrading the check says that it's been explicitly setup.
Rather warn if the package is installed (unless proxmox-boot-tool is used and the upgrade is still not done) in any case - as the number of systems which have it setup manually are probably far lower than those that upgrade without explicitly checking pve8to9. Additionally increase the log from a warn to a fail, as issues with boot-loaders yield unbootable systems, and move the (probably rare) case of manual systemd-boot setups to the upgrade-guide in our wiki, which is also linked in the output. Finally fix a typo (s/remoing/removing/). Reported-by: Daniel Herzig <d.her...@proxmox.com> Signed-off-by: Stoiko Ivanov <s.iva...@proxmox.com> --- PVE/CLI/pve8to9.pm | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/PVE/CLI/pve8to9.pm b/PVE/CLI/pve8to9.pm index dc3bf9ea..db155184 100644 --- a/PVE/CLI/pve8to9.pm +++ b/PVE/CLI/pve8to9.pm @@ -1561,7 +1561,7 @@ sub check_bootloader { if (!-d '/sys/firmware/efi') { if (-f "/usr/share/doc/systemd-boot/changelog.Debian.gz") { log_info( - "systemd-boot package installed on legacy-boot system is not necessary, consider remoing it" + "systemd-boot package installed on legacy-boot system is not necessary, consider removing it" ); return; } @@ -1575,25 +1575,18 @@ sub check_bootloader { return; } if (-f "/usr/share/doc/systemd-boot/changelog.Debian.gz") { - log_warn("systemd-boot meta-package installed this will cause issues on upgrades of" + log_fail("systemd-boot meta-package installed this will cause issues on upgrades of" . " boot-related packages. Install 'systemd-boot-efi' and 'systemd-boot-tools' explicitly" . " and remove 'systemd-boot'"); return; } } else { if (-f "/usr/share/doc/systemd-boot/changelog.Debian.gz") { - my $exit_code = eval { - run_command(['bootctl', 'is-installed', '--quiet', '--graceful'], noerr => 1); - }; - if ($exit_code != 0) { - log_warn( - "systemd-boot meta-package installed but the system does not seem to use it" - . " for booting. This can cause problems on upgrades of other boot-related packages." - . " Consider removing 'systemd-boot'"); - } else { - log_info("systemd-boot used as bootloader and fitting meta-package installed."); - return; - } + log_fail( + "systemd-boot meta-package installed. This will cause problems on upgrades of other" + . " boot-related packages. Remove 'systemd-boot' See" + . " https://pve.proxmox.com/wiki/Upgrade_from_8_to_9#sd-boot-warning for more information." + ); } if (!-f "/usr/share/doc/grub-efi-amd64/changelog.Debian.gz") { log_warn("System booted in uefi mode but grub-efi-amd64 meta-package not installed," -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel