Commit Graph

10 Commits

Author SHA1 Message Date
Thomas Lamprecht
6a3c4acefd fix #2595: less false positives when filtering out meta packages
This fixes selecting kernels for manual inclusion in the ESP which do
not come with a "-pve" in name.
It fixes listing, by just printing out the whole list as is. refresh
complains already if there's a kernel selected but no respective
vmlinuz got found. Additionally, we already plainly add the "manual
kernel list" in kernel_keep_versions, but filter then out any kernel
not containing a "-pve" in boot_kernel_list.

But boot_kernel_list should actually only filter out the kernel meta
packages.

So, use a inverse match and check for a /\d+\.\d+/ pattern, this
seems to work well enough.

Note that kernel_keep_versions doesn't picks up non-pve kernels
anyway, so this only really alters manual selection.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-02-15 17:17:39 +01:00
Thomas Lamprecht
25c1475040 efiboot/autorm functions: ignore running kernel if it was removed
In the case were someone removes the current kernel we do not can
"keep" it anymore. While this was obviously no issue for the
autoremoval logic, it is an issue for the pve-efiboot-tool refresh
command, which reuses this helper to see which kernels it needs to
keep on the ESP.

Without this a running kernel was never removed from the EFI System
Partitions if de-installed from a host, so if it sorted as newest one
it was then booted again, which naturally confuses users (it was just
removed!!). So to ensure that we cannot get such zombie kernels
ensure that only installed kernels are included in the list.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-07 18:37:06 +01:00
Fabian Grünbichler
4f11dd6347 efiboot: guard against grep returning non-zero
which would trigger 'set -e', instead of continuing with correct (empty)
strings.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-07-15 14:28:21 +02:00
Fabian Grünbichler
e0bda4e7b3 efiboot: only keep last two series metapackages
namely, the current/latest and previous one, for which we also keep the
last kernel installed and synced.

the pipe to 'head' has the added bonus of guarding against 'grep'
returnin non-zero and triggering 'set -e'

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-07-15 14:28:21 +02:00
Fabian Grünbichler
427fba7112 efiboot: add manual kernel list
with 'kernels <add|remove>' command in pve-efiboot-tool to add/remove
kernels to/from manual kernel list, and honor it when generating lists
of kernels to not autoremove/sync to ESPs

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-07-15 14:28:21 +02:00
Fabian Grünbichler
4bd56b83e1 efiboot: add loop_esp_list helper
that calls the passed-in function+args for each UUID

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-07-15 14:28:21 +02:00
Fabian Grünbichler
e0379dcf06 efiboot: actually sync last kernel of old series
and not just keep it from being autoremoved

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-07-15 14:28:21 +02:00
Fabian Grünbichler
7800310ce5 efiboot: add new mount namespace helper
to re-execute the currently running script in an unshared mount name
space.

Co-Developed-By: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-07-11 18:27:06 +02:00
Fabian Grünbichler
e39283780b esptool: move more variables to functions
which is sourced by all scripts anyway.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-07-10 20:17:53 +02:00
Stoiko Ivanov
b17a1cf33b add efiboot and autoremoval hooks
moved from proxmox-ve, in order to provide one package which contains all
relevant helper functions for pve-kernels
2019-07-10 20:17:53 +02:00