Changes to /etc/default/grub

The default Fedora Linux Grub config is fine, but it’s a bit bloated imo. So let’s change that.

The default config (/etc/default/grub) looks something like this:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="initcall_blacklist=simpledrm_platform_driver_init nvidia-drm.modeset=1 rd.driver.blacklist=nouveau modprobe.blacklist=nouveau rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

There is a few changes. For example, in the original file, the rd.driver.blacklist=nouveau exist two times. Same with modprobe.blacklist=nouveau.

I use the Propriatary NVidia drivers, so I also added:

  • nvidia
  • nvidia_uvm
  • nvidia_drm

I also added these:

  • GRUB_GFXMODE=640x480
  • GRUB_GFXPAYLOAD_LINUX=keep I tell Grub to use 640x480 resolution when booting, since it reduces the boot time with about 3 seconds. Give and take, of cause. GRUB_GFXPAYLOAD_LINUX=keep to keep the resolution on through the boot process.

And since I’m working quite a lot with virtual machines, I also added amd_iommu=on for good mesure.

These parameters are not strictly needed, since they just tell Plymouth to show Fedoras boot screen.

  • rhgb
  • quiet

You usually don’t see rhgb outside of Red Hat based distros.

The new file now looks like this:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia nvidia_uvm nvidia_drm initcall_blacklist=simpledrm_platform_driver_init amd_iommu=on rhgb
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
GRUB_GFXMODE=640x480
GRUB_GFXPAYLOAD_LINUX=keep