From 717b8947d5501a8710b675c0dcc264efd2358341 Mon Sep 17 00:00:00 2001 From: Matti Hyttinen Date: Mon, 24 Feb 2020 17:49:56 +0200 Subject: [PATCH] Update main.py Unset GRUB_SAVEDEFAULT if / or /boot is in btrfs or f2fs partition. This avoids the error "sparse file not allowed" at boot time. Btrfs and f2fs do not support saving default entry in grub. --- src/modules/grubcfg/main.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 0df255e75..ef77b988c 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -72,6 +72,12 @@ def modify_grub_default(partitions, root_mount_point, distributor): swap_uuid = "" swap_outer_uuid = "" swap_outer_mappername = None + no_save_default = False + + for partition in partitions: + if partition["mountPoint"] in ("/", "/boot") and partition["fs"] in ("btrfs", "f2fs"): + no_save_default = True + break if have_plymouth: use_splash = "splash" @@ -191,6 +197,9 @@ def modify_grub_default(partitions, root_mount_point, distributor): # We're not updating because of *keepDistributor*, but if # this was a comment line, then it's still not been set. have_distributor_line = have_distributor_line or not lines[i].startswith("#") + # If btrfs or f2fs is used, don't save default + if no_save_default and lines[i].startswith("GRUB_SAVEDEFAULT="): + lines[i] = "#GRUB_SAVEDEFAULT=\"true\"" else: lines = []