public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Stoiko Ivanov <s.ivanov@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [RFC pve-kernel-meta 0/2] boot ZFS on legacy BIOS systems from vfat
Date: Tue, 20 Apr 2021 20:25:38 +0200	[thread overview]
Message-ID: <20210420182540.25204-1-s.ivanov@proxmox.com> (raw)

This patchset has been long overdue, and complements the solution to booting
ZFS on UEFI systems using systemd-boot.

With the upgrade of ZFS 2.0.0 (and it's support for ZSTD compression), quite
a few users found out that their systems were still booted with legacy bios
boot and were consequently rendered unbootable with enabling zstd
compression on (a dataset on rpool).

The solution is inspired by our community-forum, especially @avw, and seems
rather lightweight (patch 2/2 is best viewed with '-w').
My first approach was to generate a working grub-config ourselves, but
given that grub has a few years of handling special cases - bind-mounting
the ESP on /boot and running 'update-grub' seems like a less painful way.

* patch 1/2 renames pve-efiboot-tool to proxmox-boot-tool (which seems more
appropriate by now)
* patch 2/2 adds support for installing grub appropriately on the ESPs
  and running the kernel sync-logic in a way that update-grub feels fine
  with

Sending as RFC, because this is a proof-of-concept and missing quite a few
things.

What works:
* installing this version on a root ZFS RAID-Z@ PVE (based on an old pre 6.2
  install)
* reformatting all 4 ESPs `proxmox-boot-tool format /dev/sda2 --force)
* initializing them
* rebooting into 5.4.106 and zfs 2.0.0
* upgrading the pool, setting compression=zstd, writing a file, rebooting
  (successfully)
* rebooting into an old 5.3 kernel - and getting greeted by busy-box instead
  of grub-rescue

What's missing (at least):
* support in the installer
* the renaming is not quite through (the kernel-hooks are still containing
  pve/efi in their name)
* testing the removal part of the kernel-sync


Stoiko Ivanov (2):
  proxmox-boot-tool: rename from pve-efiboot-tool
  proxmox-boot-tool: handle legacy boot zfs installs

 Makefile                                    |  2 +-
 bin/Makefile                                |  2 +-
 bin/{pve-efiboot-tool => proxmox-boot-tool} | 21 ++++--
 debian/pve-kernel-helper.install            |  2 +-
 debian/pve-kernel-helper.links              |  1 +
 {efiboot => proxmox-boot}/Makefile          |  0
 {efiboot => proxmox-boot}/functions         |  0
 {efiboot => proxmox-boot}/pve-auto-removal  |  0
 {efiboot => proxmox-boot}/pve-efiboot-sync  |  2 +-
 {efiboot => proxmox-boot}/zz-pve-efiboot    | 81 +++++++++++++++------
 10 files changed, 75 insertions(+), 36 deletions(-)
 rename bin/{pve-efiboot-tool => proxmox-boot-tool} (94%)
 create mode 100644 debian/pve-kernel-helper.links
 rename {efiboot => proxmox-boot}/Makefile (100%)
 rename {efiboot => proxmox-boot}/functions (100%)
 rename {efiboot => proxmox-boot}/pve-auto-removal (100%)
 rename {efiboot => proxmox-boot}/pve-efiboot-sync (84%)
 rename {efiboot => proxmox-boot}/zz-pve-efiboot (69%)

-- 
2.20.1





             reply	other threads:[~2021-04-20 18:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-20 18:25 Stoiko Ivanov [this message]
2021-04-20 18:25 ` [pve-devel] [RFC pve-kernel-meta 1/2] proxmox-boot-tool: rename from pve-efiboot-tool Stoiko Ivanov
2021-04-20 18:25 ` [pve-devel] [RFC pve-kernel-meta 2/2] proxmox-boot-tool: handle legacy boot zfs installs Stoiko Ivanov

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=20210420182540.25204-1-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 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