public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH installer] grub: only set special config for ZFS
Date: Mon, 28 Jun 2021 15:10:41 +0200	[thread overview]
Message-ID: <20210628131041.2147357-1-f.gruenbichler@proxmox.com> (raw)

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.gruenbichler@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





             reply	other threads:[~2021-06-28 13:11 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-28 13:10 Fabian Grünbichler [this message]
2021-06-28 16:26 ` [pve-devel] applied: " Thomas Lamprecht

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=20210628131041.2147357-1-f.gruenbichler@proxmox.com \
    --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