[CentOS] C8.1 Grub problem

Mon Apr 6 18:51:30 UTC 2020
Jonathan Billings <billings at negate.org>

On Mon, Apr 06, 2020 at 04:03:53PM +0200, Alessandro Baggi wrote:
> I'm on 8.1. I'm searching help to see if this is a bug or error by me but
> can't find nothing.
> Currently I used grubby but it does not write any file that I know like
> /boot/efi/EFI/centos/grub.cfg (I tried to remove and add arg but nothing
> changed on files), so I don't know where it make update.
> 
> I never got a problem using grub2-mkconfig -o file on C7 (last used was 7.5)
> It always worked as expected to me (for example when I installed nvidia
> driver using NVIDIA package to blacklist nouveau manually).

In CentOS 8, GRUB2 uses 'blscfg' to store bootloader-independent boot
entries in /boot/loader/entries (by default).  grub2-mkconfig
generates an initial configuration but grubby modifies the individual
bootloader spec files in the entries directory.  After It's updated
the kernel arguments, it overrides the kernelopts in the grub.cfg and
hard-codes them per-spec file.

In addition to providing a bootloader-agnostic config file, another
benefit of blscfg is that the EFI volume is usually a FAT32 filesystem
and can't recover easily from filesystem errors.  We want to avoid
writing to the EFI volume repeatedly, so we write a single
configuration once and it should remain static.  New kernel entries
create new bootloader spec files in /boot/loader/entries/, which is on
the /boot filesystem, which is normally a journaled EXT4 or XFS
filesystem, which can recover better from failures.  

-- 
Jonathan Billings <billings at negate.org>