public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH manager v3 2/2] 8 to 9 checks: check for removable grub-install
Date: Fri, 08 Aug 2025 10:10:26 +0200	[thread overview]
Message-ID: <1754640231.ttbnttqek4.astroid@yuna.none> (raw)
In-Reply-To: <20250807203004.336616-3-s.ivanov@proxmox.com>

On August 7, 2025 10:30 pm, Stoiko Ivanov wrote:
> some upgrades result in unbootable systems, which can be traced back
> to grub being installed in BOOTX64.efi, but not being upgraded by
> grub-install. Refer the cases to the output of
> `proxmox-boot-tool refresh` as it has a sensible check logic for those
> cases. Some affected systems printed the warning of proxmox-boot-tool,
> but it was lost in the large output of the dist-upgrade.
> 
> Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
> ---
>  PVE/CLI/pve8to9.pm | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/PVE/CLI/pve8to9.pm b/PVE/CLI/pve8to9.pm
> index 6381e62f..c2e830a9 100644
> --- a/PVE/CLI/pve8to9.pm
> +++ b/PVE/CLI/pve8to9.pm
> @@ -1569,6 +1569,7 @@ sub check_bootloader {
>          return;
>      }
>  
> +    my $boot_ok = 1;
>      if (-f "/etc/kernel/proxmox-boot-uuids") {
>          if (!$upgraded) {
>              log_skip("not yet upgraded, systemd-boot still needed for bootctl");
> @@ -1587,13 +1588,21 @@ sub check_bootloader {
>                      . " boot-related packages. Remove 'systemd-boot' See"
>                      . " https://pve.proxmox.com/wiki/Upgrade_from_8_to_9#sd-boot-warning for more information."
>              );
> +            $boot_ok = 0;
>          }
>          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,"
>                  . " new grub versions will not be installed to /boot/efi! Install grub-efi-amd64."
>              );
> +            $boot_ok = 0;
> +        }
> +        if (-f "/boot/efi/EFI/BOOT/BOOTX64.efi") {
> +            log_warn("Removable bootloader found at '/boot/efi/EFI/BOOT/BOOTX64.efi' Check the"
> +                . " output of `proxmox-boot-tool refresh` if further action is needed.");

why not run the debconf command here? we already did 90% of the required
checks if we end up here:

1. system is EFI booted
2. removable entry on ESP exists
3: MISSING: `debconf show --db configdb grub-efi-amd64 grub-pc | grep 'force_efi_extra_removable'`

we just need to query debconf to see if action actually needs to be taken.

without that last step, this will now warn *for all LVM systems*, even
those that are properly set up..

if we want to go the extra mile, we could also check that the binaries
actually match what is currently installed package-wise, but that might
get complicated in the face of shim..

> +            $boot_ok = 0;

this is dead code

>              return;

or this is, please only do either ;)

> -        } else {
> +        }
> +        if ($boot_ok) {
>              log_pass("bootloader packages installed correctly");
>          }
>      }
> -- 
> 2.39.5
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


      reply	other threads:[~2025-08-08  8:09 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 ` [pve-devel] [PATCH manager v3 1/2] 8 to 9 checks: do not ask bootctl if systemd-boot is used Stoiko Ivanov
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 [this message]

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=1754640231.ttbnttqek4.astroid@yuna.none \
    --to=f.gruenbichler@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal