From: Stoiko Ivanov <s.ivanov@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH manager v3 1/2] 8 to 9 checks: do not ask bootctl if systemd-boot is used.
Date: Thu, 7 Aug 2025 22:30:03 +0200 [thread overview]
Message-ID: <20250807203004.336616-2-s.ivanov@proxmox.com> (raw)
In-Reply-To: <20250807203004.336616-1-s.ivanov@proxmox.com>
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.herzig@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@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 d2a7346c..6381e62f 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
next prev parent reply other threads:[~2025-08-07 20:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-07 20:30 [pve-devel] [PATCH manager v3 0/2] 8 to 9 checks: improve boot-loader warnings Stoiko Ivanov
2025-08-07 20:30 ` Stoiko Ivanov [this message]
2025-08-07 20:30 ` [pve-devel] [PATCH manager v3 2/2] 8 to 9 checks: check for removable grub-install Stoiko Ivanov
2025-08-08 8:10 ` Fabian Grünbichler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250807203004.336616-2-s.ivanov@proxmox.com \
--to=s.ivanov@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.