Commit Graph

221 Commits

Author SHA1 Message Date
Thomas Lamprecht
47b6607049 debian: wrap-and-sort -tkn
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:43:31 +02:00
Thomas Lamprecht
e85e4e03c5 bump version to 8.0.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:26:25 +02:00
Thomas Lamprecht
7a8e3a1b22 d/control: raise standards version compliance to 4.6.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:26:25 +02:00
Thomas Lamprecht
8681f03666 d/control: define compat level via build-depends and raise to 13
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:26:25 +02:00
Thomas Lamprecht
0d11976f49 add .gitignore file
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:26:25 +02:00
Thomas Lamprecht
90a43e7da8 buildsys: derive upload dist automatically
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:26:25 +02:00
Thomas Lamprecht
5999d616f8 separate packaging and source build system
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:26:25 +02:00
Thomas Lamprecht
7aafa94cb8 d/control: drop build-dependencies on essential sed package
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:26:25 +02:00
Thomas Lamprecht
4d10f407ed buildsys: add DSC & sbuild convenience target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:26:25 +02:00
Thomas Lamprecht
d0c5b67baa buildsys: make build-dir generation atomic
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:26:25 +02:00
Thomas Lamprecht
e326e68560 makefile: convert to use simple parenthesis
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-26 14:26:25 +02:00
Fabian Grünbichler
bc43d6955b bump version to 7.4-1
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-03-20 14:23:26 +01:00
Fabian Grünbichler
96fa4a98ef rename /usr/share/pve-kernel-helper
and ensure upgrades that also involve a kernel install/uninstall/upgrade still
work by symlinking the old path to the new one.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-03-16 12:56:32 +01:00
Fabian Grünbichler
f6ca90855c rename binary package
and B+R+P old name.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-01-10 16:26:49 +01:00
Fabian Grünbichler
7828df4616 remove meta package(s)
this repository now only contains the kernel helper/boot tool.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-01-10 16:15:40 +01:00
Thomas Lamprecht
3107293799 bump version to 7.3-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-01-10 10:36:04 +01:00
Thomas Lamprecht
47388aabe5 bump version to 7.3-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-12-13 16:16:17 +01:00
Thomas Lamprecht
980575ad29 bump version to 7.2-14
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-14 21:05:30 +01:00
Thomas Lamprecht
059111980f bump version to 7.2-13
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-10-04 17:30:10 +02:00
Thomas Lamprecht
e9699393eb bump version to 7.2-12
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-09-12 15:41:12 +02:00
Stoiko Ivanov
18a8d30651 proxmox-boot: re-add include of helper-functions
this fixes ccfbe44f75

in the patch I accidentally removed the include of the helper
functions - the code uses `warn` from there

reported in our enterprise support portal and in our community-forum:
https://forum.proxmox.com/threads/.114998

reproduced with a VM:
* legacy bios
* installed PVE 6.3 (so that p-b-t was not used for legacy systems)
* then upgraded to a bullseye snapshot of 01.09.2022
* then upgraded to the last bullseye point-release
- this patch fixes the issue there.

The issue should not occur on systems using p-b-t or not using zfs
for /.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2022-09-12 15:38:51 +02:00
Thomas Lamprecht
1abc017599 bump version to 7.2-11
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-09-07 15:24:32 +02:00
Thomas Lamprecht
24e92e6dcd depend on 5.19 as opt-in kernel for bullseye based Proxmox releases
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-09-07 15:24:28 +02:00
Thomas Lamprecht
6ff7ba9f80 d/postinst: drop initramfs update for internal bogus package
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-09-07 15:15:02 +02:00
Thomas Lamprecht
03751e2216 bump version to 7.2-10
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-08-29 18:23:24 +02:00
Thomas Lamprecht
e3c27740f2 bump version to 7.2-9
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-08-09 15:08:16 +02:00
Thomas Lamprecht
238ed29333 bump version to 7.2-8
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-27 14:27:37 +02:00
Thomas Lamprecht
48bbe2fea6 buildsys: ignore irrelevant lintian overrides
it would be nice to get a proxmox-boot-tool man page though, so keep
that

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-21 08:31:51 +02:00
Thomas Lamprecht
6ef4e6d417 bump version to 7.2-7
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-21 07:37:09 +02:00
Thomas Lamprecht
f97f710082 bump version to 7.2-6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-23 14:04:24 +02:00
Thomas Lamprecht
00dc08ea56 bump version to 7.2-5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-17 15:52:26 +02:00
Thomas Lamprecht
7e074fcbaa bump version to 7.2-4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-02 14:44:32 +02:00
Thomas Lamprecht
4d049590ab bump version to 7.2-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-05-04 16:55:35 +02:00
Thomas Lamprecht
901b5c1c05 bump version to 7.2-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-27 19:09:20 +02:00
Stoiko Ivanov
ccfbe44f75 proxmox-boot: add reinit subcommand
to iterate over all configured ESPs and refresh the boot-loader
installations.

the init function was changed to not run refresh directly - to prevent
refresh from running once for each ESP

currently reinit does not imply refresh

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2022-04-27 19:06:41 +02:00
Stoiko Ivanov
bcd5fb47f0 rename pve-efiboot-manual-kernels to proxmox-boot-manual-kernels
was forgotten during the general renaming of pve-efiboot ->
proxmox-boot.

follows commit 8c0a22adfe

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2022-04-27 19:06:41 +02:00
Thomas Lamprecht
85c499d4a2 p-b-t: pinning: output hint on next-boot only pinning
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-26 12:40:03 +02:00
Thomas Lamprecht
5708fdf695 p-b-t: pinning: prompt for auto-refresh on interactive seesion
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2022-04-26 12:38:58 +02:00
Stoiko Ivanov
a998a513b7 proxmox-boot: fix #3729 add --graceful to bootctl invocation
The version of systemd boot in bullseye, tries writing an efivar which
is not writeable on certain (broken) UEFIs (HP thin clients).

The issue was not present in the version in buster (the variable
simply did not get written) and can be worked around by adding
--graceful to the `bootctl install` command.

see also:
https://github.com/systemd/systemd/issues/13603

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2022-04-26 08:20:05 +02:00
Thomas Lamprecht
814105cf85 d/copyright: update years
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-22 12:15:57 +02:00
Thomas Lamprecht
15852208e7 bump version to 7.2-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-22 11:39:26 +02:00
Thomas Lamprecht
a64976e8a4 bump version to 7.1-14
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-03-29 15:48:44 +02:00
Thomas Lamprecht
d06347366a bump version to 7.1-13
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-03-12 15:39:52 +01:00
Thomas Lamprecht
73b0c9303a boot tool: seletive usage help message
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-03-04 11:08:07 +01:00
Thomas Lamprecht
4e4a9eb9d0 kernel pinning: note when overriding previous pin
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-03-04 11:05:23 +01:00
Thomas Lamprecht
33cbbb5a32 kernel pinning: output possible kversions on bad usage
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-03-04 11:04:54 +01:00
Thomas Lamprecht
bf10a73e5a boot-tool: shellcheck lint fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-02-22 17:28:34 +01:00
Stoiko Ivanov
95c28bfa78 proxmox-boot: add pin/unpin functionality for non-p-b-t systems
While running `update-grub` directly in this case is a divergence from
the semantics of the command when p-b-t handles booting it makes the
cleanup in the `next-boot` case a bit tidier.

fetching the next-boot version explicitly again before setting the
provided version is to cover the sequence:
p-b-t kernel pin <ver1> --next-boot ; p-b-t kernel pin <ver2>

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-02-22 13:31:31 +01:00
Stoiko Ivanov
d5a182ad1d proxmox-boot: add --next-boot option kernel pin command
by setting the desired version in a dedicated file, which is used
by the systemd service as condition for removing it and refreshing
upon reboot.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-02-22 13:31:31 +01:00
Stoiko Ivanov
83a41a1a03 fix #3761: proxmox-boot: add pin/unpin for kernel-version
The 2 commands follow the mechanics of p-b-t kernel add/remove in
writing the desired abi-version to a config-file in /etc/kernel and
actually modifying the boot-loader configuration upon p-b-t refresh.

A dedicated new file is used instead of writing the version (with some
kind of annotation) to the manual kernel list to keep parsing the file
simple (and hopefully also cause fewer problems with manually edited
files)

For systemd-boot we write the entry into the loader.conf on the ESP(s)
instead of relying on the `bootctl set-default` mechanics (bootctl(1))
which write the entry in an EFI-var. This was preferred, because of a
few reports of unwriteable EFI-vars on some systems (e.g. DELL servers
have a setting preventing writing EFI-vars from the OS). The rationale
in `Why not simply rely on the EFI boot menu logic?` from [0] also
makes a few points in that direction.

For grub the following choices were made:
* write the pinned version (or actually the menu-path leading to it)
  to a snippet in /etc/default/grub.d instead of editing the grub.cfg
  files on the partition. Mostly to divert as little as possible from
  the grub-workflow I assume people are used to.
* the 'root-device-id' part of the menu-entries is parsed from
  /boot/grub/grug.cfg since it was stable (the same on all ESPs and in
  /boot/grub), saves us from copying the part of "find device behind
  /, mangle it if zfs/btrfs, call grub_probe a few times" part of
  grub-mkconfig - and seems a bit more robust

Tested with a BIOS and an UEFI VM with / on ZFS.

[0] https://systemd.io/BOOT_LOADER_SPECIFICATION/

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-02-22 13:31:31 +01:00