and handle that one via a snippet instead of touching the main '/etc/default/grub' config file.
distributor (and disabling os-prober for PVE) are already handled by the product-specific meta packages via snippets - proxmox-ve was the last to join this club in 7.0-2. Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com> --- proxmox-ve on the beta ISO is still too old, so fully testing requires `apt update && apt full-upgrade && update-grub` after installing with this change - or an ISO rebuilt with current proxmox-ve and this change. proxinstall | 52 +++------------------------------------------------- 1 file changed, 3 insertions(+), 49 deletions(-) diff --git a/proxinstall b/proxinstall index a6176d2..35a7ad2 100755 --- a/proxinstall +++ b/proxinstall @@ -1251,50 +1251,6 @@ sub prepare_grub_efi_boot_esp { die "failed to prepare EFI boot using Grub on '$espdev': $err" if $err; } -sub set_grub_default_cfg { - my ($targetdir) = @_; - - my $grub_cfg = <<EOF; -# If you change this file, run 'update-grub' afterwards to update -# /boot/grub/grub.cfg. -# For full documentation of the options in this file, see: -# info -f grub -n 'Simple configuration' - -GRUB_DEFAULT=0 -GRUB_TIMEOUT=5 -GRUB_DISTRIBUTOR="$setup->{fullname}" -GRUB_CMDLINE_LINUX_DEFAULT="quiet" -GRUB_CMDLINE_LINUX="" - -# Disable os-prober, it might add menu entries for each guest -GRUB_DISABLE_OS_PROBER=true - -# Uncomment to enable BadRAM filtering, modify to suit your needs -# This works with Linux (no patch required) and with any kernel that obtains -# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) -#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" - -# Uncomment to disable graphical terminal (grub-pc only) -#GRUB_TERMINAL=console - -# The resolution used on graphical terminal -# note that you can use only modes which your graphic card supports via VBE -# you can see them in real GRUB with the command `vbeinfo' -#GRUB_GFXMODE=640x480 - -# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux -#GRUB_DISABLE_LINUX_UUID=true - -# Disable generation of recovery mode menu entries -GRUB_DISABLE_RECOVERY="true" - -# Uncomment to get a beep at grub start -#GRUB_INIT_TUNE="480 440 1" -EOF - - write_config($grub_cfg, "$targetdir/etc/default/grub") -} - sub extract_data { my ($basefile, $targetdir) = @_; @@ -1829,12 +1785,10 @@ _EOD update_progress(0.8, 0.95, 1, "make system bootable"); - # NOTE: rewrites /etc/default/grub completely, all iterative changes need to be after this - set_grub_default_cfg($targetdir); - if ($use_zfs) { - syscmd("sed -i -e 's/^GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX=\"root=ZFS=$zfspoolname\\/ROOT\\/$zfsrootvolname boot=zfs\"/' $targetdir/etc/default/grub") == 0 || - die "unable to update /etc/default/grub\n"; + # add ZFS options while preserving existing kernel cmdline + my $zfs_snippet = "GRUB_CMDLINE_LINUX=\"\$GRUB_CMDLINE_LINUX root=ZFS=$zfspoolname/ROOT/$zfsrootvolname boot=zfs\""; + write_config($zfs_snippet, "$targetdir/etc/default/grub.d/zfs.cfg"); write_config("root=ZFS=$zfspoolname/ROOT/$zfsrootvolname boot=zfs", "$targetdir/etc/kernel/cmdline"); -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel